Option "For table updates, retain refresh policy"
This commit is contained in:
parent
44825fc694
commit
1dcbd0d4e5
12
BismNormalizer/BismNormalizer/Settings.Designer.cs
generated
12
BismNormalizer/BismNormalizer/Settings.Designer.cs
generated
@ -370,5 +370,17 @@ namespace BismNormalizer {
|
||||
this["OptionRetainRoleMembers"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool OptionRetainRefreshPolicy {
|
||||
get {
|
||||
return ((bool)(this["OptionRetainRefreshPolicy"]));
|
||||
}
|
||||
set {
|
||||
this["OptionRetainRefreshPolicy"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,5 +89,8 @@
|
||||
<Setting Name="OptionRetainRoleMembers" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="OptionRetainRefreshPolicy" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@ -23,6 +23,7 @@ namespace BismNormalizer.TabularCompare
|
||||
private bool _optionLineageTag;
|
||||
private bool _optionRetainPartitions;
|
||||
private bool _optionRetainPolicyPartitions;
|
||||
private bool _optionRetainRefreshPolicy;
|
||||
private bool _optionRetainStorageMode;
|
||||
private bool _optionMeasureDependencies;
|
||||
private ProcessingOption _optionProcessingOption;
|
||||
@ -45,6 +46,7 @@ namespace BismNormalizer.TabularCompare
|
||||
_optionLineageTag = Settings.Default.OptionLineageTag;
|
||||
_optionRetainPartitions = Settings.Default.OptionRetainPartitions;
|
||||
_optionRetainPolicyPartitions = Settings.Default.OptionRetainPolicyPartitions;
|
||||
_optionRetainRefreshPolicy = Settings.Default.OptionRetainRefreshPolicy;
|
||||
_optionRetainStorageMode = Settings.Default.OptionRetainStorageMode;
|
||||
_optionMeasureDependencies = Settings.Default.OptionMeasureDependencies;
|
||||
_optionProcessingOption = (ProcessingOption)Enum.Parse(typeof(ProcessingOption), Settings.Default.OptionProcessingOption);
|
||||
@ -149,6 +151,15 @@ namespace BismNormalizer.TabularCompare
|
||||
set { _optionRetainPolicyPartitions = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A Boolean specifying whether to retain incremental refresh policy.
|
||||
/// </summary>
|
||||
public bool OptionRetainRefreshPolicy
|
||||
{
|
||||
get { return _optionRetainRefreshPolicy; }
|
||||
set { _optionRetainRefreshPolicy = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A Boolean specifying whether to retain storage for table updates on composite models.
|
||||
/// </summary>
|
||||
@ -212,6 +223,7 @@ namespace BismNormalizer.TabularCompare
|
||||
Settings.Default.OptionLineageTag = _optionLineageTag;
|
||||
Settings.Default.OptionRetainPartitions = _optionRetainPartitions;
|
||||
Settings.Default.OptionRetainPolicyPartitions = _optionRetainPolicyPartitions;
|
||||
Settings.Default.OptionRetainRefreshPolicy = _optionRetainRefreshPolicy;
|
||||
Settings.Default.OptionRetainStorageMode = _optionRetainStorageMode;
|
||||
Settings.Default.OptionMeasureDependencies = _optionMeasureDependencies;
|
||||
Settings.Default.OptionProcessingOption = _optionProcessingOption.ToString();
|
||||
|
@ -1052,7 +1052,9 @@ namespace BismNormalizer.TabularCompare.TabularMetadata
|
||||
_targetTabularModel.CanRetainPartitions( //But also check if doing retain partitions on this table (if so, dependency will remain).
|
||||
_sourceTabularModel.Tables.FindByName(comparisonObjectToCheck.TargetObjectName),
|
||||
_targetTabularModel.Tables.FindByName(comparisonObjectToCheck.TargetObjectName),
|
||||
out string retainPartitionsMessage)
|
||||
out string retainPartitionsMessage,
|
||||
out PartitionSourceType partitionSourceTypeSource,
|
||||
out PartitionSourceType partitionSourceTypeTarget)
|
||||
)
|
||||
) //Create table is not possible to have a dependency on this object about to be deleted. Delete table is fine.
|
||||
)
|
||||
@ -1627,9 +1629,15 @@ namespace BismNormalizer.TabularCompare.TabularMetadata
|
||||
List<string> warningObjectList = new List<string>();
|
||||
bool fromDependencies = false;
|
||||
bool nonStructuredDataSourceLocal = false;
|
||||
bool canRetainPartitions =
|
||||
_targetTabularModel.CanRetainPartitions(
|
||||
tableSource, tableTarget,
|
||||
out string retainPartitionsMessageTemp,
|
||||
out PartitionSourceType partitionSourceTypeSource,
|
||||
out PartitionSourceType partitionSourceTypeTarget);
|
||||
|
||||
//Will this table retain partitions? If yes, don't need to bother with source dependency (target dependency checking will cover for deletes).
|
||||
if (!_targetTabularModel.CanRetainPartitions(tableSource, tableTarget, out string retainPartitionsMessageTemp))
|
||||
if (!canRetainPartitions)
|
||||
{
|
||||
//Check any objects in source that this table depends on are also going to be created/updated if not already in target
|
||||
foreach (Partition partition in tableSource.TomTable.Partitions)
|
||||
@ -1661,8 +1669,20 @@ namespace BismNormalizer.TabularCompare.TabularMetadata
|
||||
{
|
||||
return;
|
||||
};
|
||||
_targetTabularModel.UpdateTable(tableSource, tableTarget, out string retainPartitionsMessage);
|
||||
OnValidationMessage(new ValidationMessageEventArgs($"Update {(tableSource.IsCalculationGroup ? "calculation group" : "table")} '{comparisonObject.TargetObjectName}'. {retainPartitionsMessage}", ValidationMessageType.Table, ValidationMessageStatus.Informational));
|
||||
|
||||
//Check if, based on options selected, check if target table would contain policy based partitions with no refresh policy
|
||||
if (
|
||||
(canRetainPartitions && !_comparisonInfo.OptionsInfo.OptionRetainRefreshPolicy && partitionSourceTypeTarget == PartitionSourceType.PolicyRange && tableSource.TomTable.RefreshPolicy == null) ||
|
||||
(!canRetainPartitions && _comparisonInfo.OptionsInfo.OptionRetainRefreshPolicy && partitionSourceTypeSource == PartitionSourceType.PolicyRange && tableTarget.TomTable.RefreshPolicy == null)
|
||||
)
|
||||
{
|
||||
OnValidationMessage(new ValidationMessageEventArgs($"Unable to update table {comparisonObject.TargetObjectName} because, based on options selected, the resulting table would contain policy based partitions with no refresh policy, which is not allowed.", (tableSource.IsCalculationGroup ? ValidationMessageType.CalculationGroup : ValidationMessageType.Table), ValidationMessageStatus.Warning));
|
||||
}
|
||||
else
|
||||
{
|
||||
_targetTabularModel.UpdateTable(tableSource, tableTarget, out string retainPartitionsMessage);
|
||||
OnValidationMessage(new ValidationMessageEventArgs($"Update {(tableSource.IsCalculationGroup ? "calculation group" : "table")} '{comparisonObject.TargetObjectName}'. {retainPartitionsMessage}", ValidationMessageType.Table, ValidationMessageStatus.Informational));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -639,7 +639,12 @@ namespace BismNormalizer.TabularCompare.TabularMetadata
|
||||
/// <param name="tableTarget">Table object in the target tabular model to be updated.</param>
|
||||
public void UpdateTable(Table tableSource, Table tableTarget, out string retainPartitionsMessage)
|
||||
{
|
||||
bool canRetainPartitions = CanRetainPartitions(tableSource, tableTarget, out retainPartitionsMessage);
|
||||
bool canRetainPartitions = CanRetainPartitions(
|
||||
tableSource,
|
||||
tableTarget,
|
||||
out retainPartitionsMessage,
|
||||
out PartitionSourceType partitionSourceTypeSource,
|
||||
out PartitionSourceType partitionSourceTypeTarget);
|
||||
Tom.Table tomTableTargetOrig = tableTarget.TomTable.Clone();
|
||||
ModeType tableTargetModeType = tableTarget.TableModeType;
|
||||
List<SingleColumnRelationship> tomRelationshipsToAddBack = DeleteTable(tableTarget.Name);
|
||||
@ -690,48 +695,61 @@ namespace BismNormalizer.TabularCompare.TabularMetadata
|
||||
{
|
||||
tableTarget.ResetStorageMode(tableTargetModeType);
|
||||
}
|
||||
|
||||
//add back refresh policy if option selected
|
||||
if (_comparisonInfo.OptionsInfo.OptionRetainRefreshPolicy)
|
||||
{
|
||||
if (tomTableTargetOrig.RefreshPolicy == null)
|
||||
{
|
||||
tableTarget.TomTable.RefreshPolicy = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
tableTarget.TomTable.RefreshPolicy = tomTableTargetOrig.RefreshPolicy.Clone();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanRetainPartitions(Table tableSource, Table tableTarget, out string retainPartitionsMessage)
|
||||
public bool CanRetainPartitions(Table tableSource, Table tableTarget, out string retainPartitionsMessage, out PartitionSourceType partitionSourceTypeSource, out PartitionSourceType partitionSourceTypeTarget)
|
||||
{
|
||||
//Initialize variables
|
||||
retainPartitionsMessage = "";
|
||||
PartitionSourceType sourceTypeSource = PartitionSourceType.None;
|
||||
partitionSourceTypeSource = PartitionSourceType.None;
|
||||
foreach (Partition partition in tableSource.TomTable.Partitions)
|
||||
{
|
||||
sourceTypeSource = partition.SourceType;
|
||||
partitionSourceTypeSource = partition.SourceType;
|
||||
break;
|
||||
}
|
||||
PartitionSourceType sourceTypeTarget = PartitionSourceType.None;
|
||||
partitionSourceTypeTarget = PartitionSourceType.None;
|
||||
foreach (Partition partitionTarget in tableTarget.TomTable.Partitions)
|
||||
{
|
||||
sourceTypeTarget = partitionTarget.SourceType;
|
||||
partitionSourceTypeTarget = partitionTarget.SourceType;
|
||||
break;
|
||||
}
|
||||
|
||||
//Verify necessary options are checked
|
||||
if (!_comparisonInfo.OptionsInfo.OptionRetainPartitions)
|
||||
return false;
|
||||
if (_comparisonInfo.OptionsInfo.OptionRetainPolicyPartitions && sourceTypeTarget != PartitionSourceType.PolicyRange)
|
||||
if (_comparisonInfo.OptionsInfo.OptionRetainPolicyPartitions && partitionSourceTypeTarget != PartitionSourceType.PolicyRange)
|
||||
return false;
|
||||
|
||||
//both tables need to have M or query partitions, or target can be policy partitions. Also type needs to match (won't copy query partition to M table). If a table has no partitions, do nothing.
|
||||
if (!(sourceTypeSource == PartitionSourceType.M || sourceTypeSource == PartitionSourceType.Query || sourceTypeSource == PartitionSourceType.PolicyRange))
|
||||
if (!(partitionSourceTypeSource == PartitionSourceType.M || partitionSourceTypeSource == PartitionSourceType.Query || partitionSourceTypeSource == PartitionSourceType.PolicyRange))
|
||||
{
|
||||
retainPartitionsMessage = $"Retain partitions not applicable to partition types.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(sourceTypeTarget == PartitionSourceType.M || sourceTypeTarget == PartitionSourceType.Query || sourceTypeTarget == PartitionSourceType.PolicyRange))
|
||||
if (!(partitionSourceTypeTarget == PartitionSourceType.M || partitionSourceTypeTarget == PartitionSourceType.Query || partitionSourceTypeTarget == PartitionSourceType.PolicyRange))
|
||||
{
|
||||
retainPartitionsMessage = $"Retain partitions not applicable to partition types.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((sourceTypeTarget != sourceTypeSource) && sourceTypeTarget != PartitionSourceType.PolicyRange)
|
||||
if (partitionSourceTypeTarget != partitionSourceTypeSource && !(partitionSourceTypeTarget == PartitionSourceType.M && partitionSourceTypeSource == PartitionSourceType.PolicyRange) && partitionSourceTypeTarget != PartitionSourceType.PolicyRange)
|
||||
{
|
||||
retainPartitionsMessage = $"Retain partitions not applied because source partition type is {sourceTypeSource.ToString()} and target partition type is {sourceTypeTarget.ToString()}.";
|
||||
retainPartitionsMessage = $"Retain partitions not applied because source partition type is {partitionSourceTypeSource.ToString()} and target partition type is {partitionSourceTypeTarget.ToString()}.";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,8 @@
|
||||
this.chkMeasureDependencies = new System.Windows.Forms.CheckBox();
|
||||
this.chkPerspectives = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.chkRetainRefreshPolicy = new System.Windows.Forms.CheckBox();
|
||||
this.chkRetainRoleMembers = new System.Windows.Forms.CheckBox();
|
||||
this.chkLineageTag = new System.Windows.Forms.CheckBox();
|
||||
this.chkRetainStorageMode = new System.Windows.Forms.CheckBox();
|
||||
this.chkRetainPolicyPartitions = new System.Windows.Forms.CheckBox();
|
||||
@ -46,7 +48,6 @@
|
||||
this.chkAffectedTables = new System.Windows.Forms.CheckBox();
|
||||
this.cboProcessingOption = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chkRetainRoleMembers = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
@ -55,9 +56,10 @@
|
||||
//
|
||||
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Location = new System.Drawing.Point(274, 489);
|
||||
this.btnCancel.Location = new System.Drawing.Point(548, 991);
|
||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.Size = new System.Drawing.Size(150, 44);
|
||||
this.btnCancel.TabIndex = 21;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
@ -66,9 +68,10 @@
|
||||
//
|
||||
this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOK.Location = new System.Drawing.Point(194, 489);
|
||||
this.btnOK.Location = new System.Drawing.Point(388, 991);
|
||||
this.btnOK.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnOK.Size = new System.Drawing.Size(150, 44);
|
||||
this.btnOK.TabIndex = 20;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.UseVisualStyleBackColor = true;
|
||||
@ -79,9 +82,10 @@
|
||||
this.chkRoles.AutoSize = true;
|
||||
this.chkRoles.Checked = true;
|
||||
this.chkRoles.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkRoles.Location = new System.Drawing.Point(14, 121);
|
||||
this.chkRoles.Location = new System.Drawing.Point(28, 233);
|
||||
this.chkRoles.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRoles.Name = "chkRoles";
|
||||
this.chkRoles.Size = new System.Drawing.Size(86, 17);
|
||||
this.chkRoles.Size = new System.Drawing.Size(166, 29);
|
||||
this.chkRoles.TabIndex = 5;
|
||||
this.chkRoles.Text = "Include roles";
|
||||
this.chkRoles.UseVisualStyleBackColor = true;
|
||||
@ -90,9 +94,10 @@
|
||||
// chkPartitions
|
||||
//
|
||||
this.chkPartitions.AutoSize = true;
|
||||
this.chkPartitions.Location = new System.Drawing.Point(14, 172);
|
||||
this.chkPartitions.Location = new System.Drawing.Point(28, 331);
|
||||
this.chkPartitions.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkPartitions.Name = "chkPartitions";
|
||||
this.chkPartitions.Size = new System.Drawing.Size(224, 17);
|
||||
this.chkPartitions.Size = new System.Drawing.Size(451, 29);
|
||||
this.chkPartitions.TabIndex = 6;
|
||||
this.chkPartitions.Text = "Consider partitions when comparing tables";
|
||||
this.chkPartitions.UseVisualStyleBackColor = true;
|
||||
@ -104,9 +109,10 @@
|
||||
this.chkMeasureDependencies.AutoSize = true;
|
||||
this.chkMeasureDependencies.Checked = true;
|
||||
this.chkMeasureDependencies.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkMeasureDependencies.Location = new System.Drawing.Point(14, 311);
|
||||
this.chkMeasureDependencies.Location = new System.Drawing.Point(28, 655);
|
||||
this.chkMeasureDependencies.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkMeasureDependencies.Name = "chkMeasureDependencies";
|
||||
this.chkMeasureDependencies.Size = new System.Drawing.Size(47, 17);
|
||||
this.chkMeasureDependencies.Size = new System.Drawing.Size(86, 29);
|
||||
this.chkMeasureDependencies.TabIndex = 7;
|
||||
this.chkMeasureDependencies.Text = "XXX";
|
||||
this.chkMeasureDependencies.UseVisualStyleBackColor = true;
|
||||
@ -114,9 +120,10 @@
|
||||
// chkPerspectives
|
||||
//
|
||||
this.chkPerspectives.AutoSize = true;
|
||||
this.chkPerspectives.Location = new System.Drawing.Point(14, 24);
|
||||
this.chkPerspectives.Location = new System.Drawing.Point(28, 46);
|
||||
this.chkPerspectives.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkPerspectives.Name = "chkPerspectives";
|
||||
this.chkPerspectives.Size = new System.Drawing.Size(124, 17);
|
||||
this.chkPerspectives.Size = new System.Drawing.Size(241, 29);
|
||||
this.chkPerspectives.TabIndex = 3;
|
||||
this.chkPerspectives.Text = "Include perspectives";
|
||||
this.chkPerspectives.UseVisualStyleBackColor = true;
|
||||
@ -127,6 +134,7 @@
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox1.Controls.Add(this.chkRetainRefreshPolicy);
|
||||
this.groupBox1.Controls.Add(this.chkRetainRoleMembers);
|
||||
this.groupBox1.Controls.Add(this.chkLineageTag);
|
||||
this.groupBox1.Controls.Add(this.chkRetainStorageMode);
|
||||
@ -139,19 +147,46 @@
|
||||
this.groupBox1.Controls.Add(this.chkMeasureDependencies);
|
||||
this.groupBox1.Controls.Add(this.chkPartitions);
|
||||
this.groupBox1.Controls.Add(this.chkRoles);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 11);
|
||||
this.groupBox1.Location = new System.Drawing.Point(24, 21);
|
||||
this.groupBox1.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(338, 358);
|
||||
this.groupBox1.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.groupBox1.Size = new System.Drawing.Size(676, 739);
|
||||
this.groupBox1.TabIndex = 22;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Comparison Options";
|
||||
//
|
||||
// chkRetainRefreshPolicy
|
||||
//
|
||||
this.chkRetainRefreshPolicy.AutoSize = true;
|
||||
this.chkRetainRefreshPolicy.Location = new System.Drawing.Point(28, 552);
|
||||
this.chkRetainRefreshPolicy.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRetainRefreshPolicy.Name = "chkRetainRefreshPolicy";
|
||||
this.chkRetainRefreshPolicy.Size = new System.Drawing.Size(413, 29);
|
||||
this.chkRetainRefreshPolicy.TabIndex = 15;
|
||||
this.chkRetainRefreshPolicy.Text = "For table updates, retain refresh policy";
|
||||
this.chkRetainRefreshPolicy.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkRetainRoleMembers
|
||||
//
|
||||
this.chkRetainRoleMembers.AutoSize = true;
|
||||
this.chkRetainRoleMembers.Checked = true;
|
||||
this.chkRetainRoleMembers.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkRetainRoleMembers.Location = new System.Drawing.Point(68, 277);
|
||||
this.chkRetainRoleMembers.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRetainRoleMembers.Name = "chkRetainRoleMembers";
|
||||
this.chkRetainRoleMembers.Size = new System.Drawing.Size(361, 29);
|
||||
this.chkRetainRoleMembers.TabIndex = 14;
|
||||
this.chkRetainRoleMembers.Text = "For role updates, retain members";
|
||||
this.chkRetainRoleMembers.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkLineageTag
|
||||
//
|
||||
this.chkLineageTag.AutoSize = true;
|
||||
this.chkLineageTag.Location = new System.Drawing.Point(14, 203);
|
||||
this.chkLineageTag.Location = new System.Drawing.Point(28, 390);
|
||||
this.chkLineageTag.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkLineageTag.Name = "chkLineageTag";
|
||||
this.chkLineageTag.Size = new System.Drawing.Size(208, 17);
|
||||
this.chkLineageTag.Size = new System.Drawing.Size(413, 29);
|
||||
this.chkLineageTag.TabIndex = 13;
|
||||
this.chkLineageTag.Text = "Consider LineageTag when comparing";
|
||||
this.chkLineageTag.UseVisualStyleBackColor = true;
|
||||
@ -159,9 +194,10 @@
|
||||
// chkRetainStorageMode
|
||||
//
|
||||
this.chkRetainStorageMode.AutoSize = true;
|
||||
this.chkRetainStorageMode.Location = new System.Drawing.Point(14, 285);
|
||||
this.chkRetainStorageMode.Location = new System.Drawing.Point(28, 605);
|
||||
this.chkRetainStorageMode.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRetainStorageMode.Name = "chkRetainStorageMode";
|
||||
this.chkRetainStorageMode.Size = new System.Drawing.Size(207, 17);
|
||||
this.chkRetainStorageMode.Size = new System.Drawing.Size(415, 29);
|
||||
this.chkRetainStorageMode.TabIndex = 12;
|
||||
this.chkRetainStorageMode.Text = "For table updates, retain storage mode";
|
||||
this.chkRetainStorageMode.UseVisualStyleBackColor = true;
|
||||
@ -170,9 +206,10 @@
|
||||
//
|
||||
this.chkRetainPolicyPartitions.AutoSize = true;
|
||||
this.chkRetainPolicyPartitions.Enabled = false;
|
||||
this.chkRetainPolicyPartitions.Location = new System.Drawing.Point(34, 256);
|
||||
this.chkRetainPolicyPartitions.Location = new System.Drawing.Point(68, 492);
|
||||
this.chkRetainPolicyPartitions.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRetainPolicyPartitions.Name = "chkRetainPolicyPartitions";
|
||||
this.chkRetainPolicyPartitions.Size = new System.Drawing.Size(221, 17);
|
||||
this.chkRetainPolicyPartitions.Size = new System.Drawing.Size(447, 29);
|
||||
this.chkRetainPolicyPartitions.TabIndex = 11;
|
||||
this.chkRetainPolicyPartitions.Text = "Retain only refresh-policy based partitions";
|
||||
this.chkRetainPolicyPartitions.UseVisualStyleBackColor = true;
|
||||
@ -180,9 +217,10 @@
|
||||
// chkRetainPartitions
|
||||
//
|
||||
this.chkRetainPartitions.AutoSize = true;
|
||||
this.chkRetainPartitions.Location = new System.Drawing.Point(14, 235);
|
||||
this.chkRetainPartitions.Location = new System.Drawing.Point(28, 452);
|
||||
this.chkRetainPartitions.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkRetainPartitions.Name = "chkRetainPartitions";
|
||||
this.chkRetainPartitions.Size = new System.Drawing.Size(185, 17);
|
||||
this.chkRetainPartitions.Size = new System.Drawing.Size(372, 29);
|
||||
this.chkRetainPartitions.TabIndex = 10;
|
||||
this.chkRetainPartitions.Text = "For table updates, retain partitions";
|
||||
this.chkRetainPartitions.UseVisualStyleBackColor = true;
|
||||
@ -192,9 +230,10 @@
|
||||
//
|
||||
this.chkMergeCultures.AutoSize = true;
|
||||
this.chkMergeCultures.Enabled = false;
|
||||
this.chkMergeCultures.Location = new System.Drawing.Point(34, 96);
|
||||
this.chkMergeCultures.Location = new System.Drawing.Point(68, 185);
|
||||
this.chkMergeCultures.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkMergeCultures.Name = "chkMergeCultures";
|
||||
this.chkMergeCultures.Size = new System.Drawing.Size(270, 17);
|
||||
this.chkMergeCultures.Size = new System.Drawing.Size(546, 29);
|
||||
this.chkMergeCultures.TabIndex = 9;
|
||||
this.chkMergeCultures.Text = "For culture updates, merge translations (not replace)";
|
||||
this.chkMergeCultures.UseVisualStyleBackColor = true;
|
||||
@ -202,9 +241,10 @@
|
||||
// chkCultures
|
||||
//
|
||||
this.chkCultures.AutoSize = true;
|
||||
this.chkCultures.Location = new System.Drawing.Point(14, 75);
|
||||
this.chkCultures.Location = new System.Drawing.Point(28, 144);
|
||||
this.chkCultures.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkCultures.Name = "chkCultures";
|
||||
this.chkCultures.Size = new System.Drawing.Size(101, 17);
|
||||
this.chkCultures.Size = new System.Drawing.Size(195, 29);
|
||||
this.chkCultures.TabIndex = 8;
|
||||
this.chkCultures.Text = "Include cultures";
|
||||
this.chkCultures.UseVisualStyleBackColor = true;
|
||||
@ -214,9 +254,10 @@
|
||||
//
|
||||
this.chkMergePerspectives.AutoSize = true;
|
||||
this.chkMergePerspectives.Enabled = false;
|
||||
this.chkMergePerspectives.Location = new System.Drawing.Point(34, 46);
|
||||
this.chkMergePerspectives.Location = new System.Drawing.Point(68, 88);
|
||||
this.chkMergePerspectives.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkMergePerspectives.Name = "chkMergePerspectives";
|
||||
this.chkMergePerspectives.Size = new System.Drawing.Size(287, 17);
|
||||
this.chkMergePerspectives.Size = new System.Drawing.Size(578, 29);
|
||||
this.chkMergePerspectives.TabIndex = 4;
|
||||
this.chkMergePerspectives.Text = "For perspective updates, merge selections (not replace)";
|
||||
this.chkMergePerspectives.UseVisualStyleBackColor = true;
|
||||
@ -228,9 +269,11 @@
|
||||
this.groupBox2.Controls.Add(this.chkAffectedTables);
|
||||
this.groupBox2.Controls.Add(this.cboProcessingOption);
|
||||
this.groupBox2.Controls.Add(this.label1);
|
||||
this.groupBox2.Location = new System.Drawing.Point(12, 376);
|
||||
this.groupBox2.Location = new System.Drawing.Point(24, 774);
|
||||
this.groupBox2.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(338, 101);
|
||||
this.groupBox2.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.groupBox2.Size = new System.Drawing.Size(676, 194);
|
||||
this.groupBox2.TabIndex = 23;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Database Deployment";
|
||||
@ -240,9 +283,10 @@
|
||||
this.chkAffectedTables.AutoSize = true;
|
||||
this.chkAffectedTables.Checked = true;
|
||||
this.chkAffectedTables.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkAffectedTables.Location = new System.Drawing.Point(14, 63);
|
||||
this.chkAffectedTables.Location = new System.Drawing.Point(28, 121);
|
||||
this.chkAffectedTables.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.chkAffectedTables.Name = "chkAffectedTables";
|
||||
this.chkAffectedTables.Size = new System.Drawing.Size(159, 17);
|
||||
this.chkAffectedTables.Size = new System.Drawing.Size(315, 29);
|
||||
this.chkAffectedTables.TabIndex = 9;
|
||||
this.chkAffectedTables.Text = "Process only affected tables";
|
||||
this.chkAffectedTables.UseVisualStyleBackColor = true;
|
||||
@ -257,44 +301,35 @@
|
||||
"Default",
|
||||
"Do Not Process",
|
||||
"Full"});
|
||||
this.cboProcessingOption.Location = new System.Drawing.Point(114, 24);
|
||||
this.cboProcessingOption.Location = new System.Drawing.Point(228, 46);
|
||||
this.cboProcessingOption.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.cboProcessingOption.Name = "cboProcessingOption";
|
||||
this.cboProcessingOption.Size = new System.Drawing.Size(131, 21);
|
||||
this.cboProcessingOption.Size = new System.Drawing.Size(258, 33);
|
||||
this.cboProcessingOption.TabIndex = 8;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 28);
|
||||
this.label1.Location = new System.Drawing.Point(24, 54);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(96, 13);
|
||||
this.label1.Size = new System.Drawing.Size(194, 25);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Processing Option:";
|
||||
//
|
||||
// chkRetainRoleMembers
|
||||
//
|
||||
this.chkRetainRoleMembers.AutoSize = true;
|
||||
this.chkRetainRoleMembers.Checked = true;
|
||||
this.chkRetainRoleMembers.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkRetainRoleMembers.Location = new System.Drawing.Point(34, 144);
|
||||
this.chkRetainRoleMembers.Name = "chkRetainRoleMembers";
|
||||
this.chkRetainRoleMembers.Size = new System.Drawing.Size(179, 17);
|
||||
this.chkRetainRoleMembers.TabIndex = 14;
|
||||
this.chkRetainRoleMembers.Text = "For role updates, retain members";
|
||||
this.chkRetainRoleMembers.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Options
|
||||
//
|
||||
this.AcceptButton = this.btnOK;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 25F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(362, 528);
|
||||
this.ClientSize = new System.Drawing.Size(724, 1066);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Options";
|
||||
@ -332,5 +367,6 @@
|
||||
private System.Windows.Forms.CheckBox chkRetainStorageMode;
|
||||
private System.Windows.Forms.CheckBox chkLineageTag;
|
||||
private System.Windows.Forms.CheckBox chkRetainRoleMembers;
|
||||
private System.Windows.Forms.CheckBox chkRetainRefreshPolicy;
|
||||
}
|
||||
}
|
@ -53,6 +53,7 @@ namespace BismNormalizer.TabularCompare.UI
|
||||
chkLineageTag.Checked = _comparisonInfo.OptionsInfo.OptionLineageTag;
|
||||
chkRetainPartitions.Checked = _comparisonInfo.OptionsInfo.OptionRetainPartitions;
|
||||
chkRetainPolicyPartitions.Checked = _comparisonInfo.OptionsInfo.OptionRetainPolicyPartitions;
|
||||
chkRetainRefreshPolicy.Checked = _comparisonInfo.OptionsInfo.OptionRetainRefreshPolicy;
|
||||
chkRetainStorageMode.Checked = _comparisonInfo.OptionsInfo.OptionRetainStorageMode;
|
||||
chkMeasureDependencies.Checked = _comparisonInfo.OptionsInfo.OptionMeasureDependencies;
|
||||
string processingOption = _comparisonInfo.OptionsInfo.OptionProcessingOption.ToString();
|
||||
@ -73,6 +74,7 @@ namespace BismNormalizer.TabularCompare.UI
|
||||
_comparisonInfo.OptionsInfo.OptionLineageTag = chkLineageTag.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionRetainPartitions = chkRetainPartitions.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionRetainPolicyPartitions = chkRetainPolicyPartitions.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionRetainRefreshPolicy = chkRetainRefreshPolicy.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionRetainStorageMode = chkRetainStorageMode.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionMeasureDependencies = chkMeasureDependencies.Checked;
|
||||
_comparisonInfo.OptionsInfo.OptionProcessingOption = (ProcessingOption)Enum.Parse(typeof(ProcessingOption), cboProcessingOption.Text.Replace(" ", ""));
|
||||
|
@ -94,6 +94,9 @@
|
||||
<setting name="OptionRetainRoleMembers" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="OptionRetainRefreshPolicy" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
</BismNormalizer.Settings>
|
||||
</userSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup>
|
||||
|
Loading…
Reference in New Issue
Block a user