public void VisitPartitionReference(OraclePartitionReference partitionReference)
        {
            if (partitionReference.Partition == null)
            {
                return;
            }

            var databaseModel = partitionReference.Container.SemanticModel.DatabaseModel;

            if (partitionReference.Partition is OracleSubPartition subPartition)
            {
                var subPartitionDetail = new SubPartitionDetailsModel();

                SetBasePartitionData(subPartitionDetail, partitionReference);

                databaseModel.UpdateSubPartitionDetailsAsync(subPartitionDetail, CancellationToken.None);
                ToolTip = new ToolTipPartition(subPartitionDetail);
            }
            else
            {
                var partitionDetail = new PartitionDetailsModel(16);

                SetBasePartitionData(partitionDetail, partitionReference);

                databaseModel.UpdatePartitionDetailsAsync(partitionDetail, CancellationToken.None);
                ToolTip = new ToolTipPartition(partitionDetail);
            }
        }
示例#2
0
        public void AddPartition(PartitionDetailsModel partition)
        {
            _partitionDetailsDictionary.Add(partition.Name, partition);

            if (VisiblePartitionDetails.Count < MaxVisiblePartitionCount)
            {
                VisiblePartitionDetails.Add(partition);
            }
            else
            {
                RaisePropertyChanged(nameof(MorePartitionsExistMessageVisibility));
                RaisePropertyChanged(nameof(VisiblePartitionCount));
                RaisePropertyChanged(nameof(PartitionCount));
            }
        }
示例#3
0
		public override Task UpdateTableDetailsAsync(OracleObjectIdentifier objectIdentifier, TableDetailsModel dataModel, CancellationToken cancellationToken)
		{
			dataModel.AverageRowSize = 237;
			dataModel.LastAnalyzed = new DateTime(2014, 8, 19, 6, 18, 12);
			dataModel.BlockCount = 544;
			dataModel.RowCount = 8312;
			dataModel.SampleRows = 5512;
			dataModel.Logging = true;
			dataModel.AllocatedBytes = 22546891;
			dataModel.LargeObjectBytes = 1546891;
			dataModel.Compression = "Disabled";
			dataModel.InMemoryCompression = "Disabled";
			dataModel.Organization = "Index";
			dataModel.PartitionKeys = "COLUMN1, COLUMN2";
			dataModel.SubPartitionKeys = "COLUMN3, COLUMN4";
			dataModel.IsTemporary = false;
			dataModel.Comment = "This is a table comment. ";
			dataModel.ParallelDegree = "Default";

			var indexDetails =
				new IndexDetailsModel
				{
					Blocks = 123,
					Bytes = 123456,
					ClusteringFactor = 444,
					Compression = "Enabled",
					DegreeOfParallelism = 2,
					DistinctKeys = 1444,
					IsUnique = false,
					LastAnalyzed = new DateTime(2015, 1, 20, 21, 28, 12),
					LeafBlocks = 114,
					Logging = true,
					Name = "TEST_INDEX",
					Owner = "HUSQVIK",
					PrefixLength = 2,
					Rows = 2000,
					SampleRows = 333,
					Status = "Valid",
					Type = "Normal",
					TablespaceName = "TEST_TABLESPACE",
					Columns =
					{
						new IndexColumnModel { ColumnName = "COLUMN1", SortOrder = SortOrder.Descending },
						new IndexColumnModel { ColumnName = "COLUMN2" }
					}
				};

			var partition1Details =
				new PartitionDetailsModel
				{
					Name = "PARTITION_1"
				};

			SetPartitionDetails(partition1Details);
			SetTablespaceDetails(dataModel.TablespaceDataModel);

			var partition2Details =
				new PartitionDetailsModel
				{
					Name = "PARTITION_2",
					TablespaceName = "TEST_TABLESPACE_2",
					AverageRowSize = 237,
					LastAnalyzed = new DateTime(2015, 2, 22, 16, 22, 14),
					BlockCount = 272,
					RowCount = 4162,
					SampleRows = 4162,
					Compression = "Disabled",
					Logging = true,
					HighValue = "'Partition key 2', 2",
					InMemoryCompression = "Disabled"
				};

			dataModel.IndexDetails.Add(indexDetails);
			dataModel.AddPartition(partition1Details);
			dataModel.AddPartition(partition2Details);

			return Task.FromResult<object>(null);
		}
示例#4
0
		public override Task UpdatePartitionDetailsAsync(PartitionDetailsModel dataModel, CancellationToken cancellationToken)
		{
			SetPartitionDetails(dataModel);

			return Task.FromResult<object>(null);
		}
示例#5
0
		public void VisitPartitionReference(OraclePartitionReference partitionReference)
		{
			if (partitionReference.Partition == null)
			{
				return;
			}

			var databaseModel = partitionReference.Container.SemanticModel.DatabaseModel;
			var subPartition = partitionReference.Partition as OracleSubPartition;
			if (subPartition != null)
			{
				var subPartitionDetail = new SubPartitionDetailsModel();

				SetBasePartitionData(subPartitionDetail, partitionReference);

				databaseModel.UpdateSubPartitionDetailsAsync(subPartitionDetail, CancellationToken.None);
				ToolTip = new ToolTipPartition(subPartitionDetail);
			}
			else
			{
				var partitionDetail = new PartitionDetailsModel(16);

				SetBasePartitionData(partitionDetail, partitionReference);

				databaseModel.UpdatePartitionDetailsAsync(partitionDetail, CancellationToken.None);
				ToolTip = new ToolTipPartition(partitionDetail);
			}
		}
示例#6
0
		public void AddPartition(PartitionDetailsModel partition)
		{
			_partitionDetailsDictionary.Add(partition.Name, partition);

			if (VisiblePartitionDetails.Count < MaxVisiblePartitionCount)
			{
				VisiblePartitionDetails.Add(partition);
			}
			else
			{
				RaisePropertyChanged(nameof(MorePartitionsExistMessageVisibility));
				RaisePropertyChanged(nameof(VisiblePartitionCount));
				RaisePropertyChanged(nameof(PartitionCount));
			}
		}