A few table designer fixes (#1581)

* enable index rename

* use SystemName to fix constraint name validator
This commit is contained in:
Hai Cao
2022-07-21 16:25:35 -07:00
committed by GitHub
parent 887b23e9a1
commit fc2d1300fd
2 changed files with 9 additions and 11 deletions

View File

@@ -904,7 +904,6 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner
{ {
var indexVM = new IndexViewModel(); var indexVM = new IndexViewModel();
indexVM.Name.Value = index.Name; indexVM.Name.Value = index.Name;
indexVM.Name.Enabled = tableInfo.IsNewTable; // renaming an index is not supported, it will cause a new index to be created.
indexVM.Description.Value = index.Description; indexVM.Description.Value = index.Description;
indexVM.Description.Enabled = index.CanEditDescription; indexVM.Description.Enabled = index.CanEditDescription;
indexVM.IsClustered.Checked = index.IsClustered; indexVM.IsClustered.Checked = index.IsClustered;

View File

@@ -189,52 +189,51 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner
for (int i = 0; i < table.ForeignKeys.Items.Count; i++) for (int i = 0; i < table.ForeignKeys.Items.Count; i++)
{ {
var foreignKey = table.ForeignKeys.Items[i]; var foreignKey = table.ForeignKeys.Items[i];
if (existingNames.Contains(foreignKey.Name)) if (existingNames.Contains(foreignKey.SystemName))
{ {
errors.Add(new TableDesignerIssue() errors.Add(new TableDesignerIssue()
{ {
Description = SR.NoDuplicateConstraintNameRuleDescription(foreignKey.Name, i + 1), Description = SR.NoDuplicateConstraintNameRuleDescription(foreignKey.SystemName, i + 1),
PropertyPath = new object[] { TablePropertyNames.ForeignKeys, i, ForeignKeyPropertyNames.Name } PropertyPath = new object[] { TablePropertyNames.ForeignKeys, i, ForeignKeyPropertyNames.Name }
}); });
} }
else else
{ {
existingNames.Add(foreignKey.Name); existingNames.Add(foreignKey.SystemName);
} }
} }
for (int i = 0; i < table.CheckConstraints.Items.Count; i++) for (int i = 0; i < table.CheckConstraints.Items.Count; i++)
{ {
var checkConstraint = table.CheckConstraints.Items[i]; var checkConstraint = table.CheckConstraints.Items[i];
if (existingNames.Contains(checkConstraint.Name)) if (existingNames.Contains(checkConstraint.SystemName))
{ {
errors.Add(new TableDesignerIssue() errors.Add(new TableDesignerIssue()
{ {
Description = SR.NoDuplicateConstraintNameRuleDescription(checkConstraint.Name, i + 1), Description = SR.NoDuplicateConstraintNameRuleDescription(checkConstraint.SystemName, i + 1),
PropertyPath = new object[] { TablePropertyNames.CheckConstraints, i, CheckConstraintPropertyNames.Name } PropertyPath = new object[] { TablePropertyNames.CheckConstraints, i, CheckConstraintPropertyNames.Name }
}); });
} }
else else
{ {
existingNames.Add(checkConstraint.Name); existingNames.Add(checkConstraint.SystemName);
} }
} }
for (int i = 0; i < table.EdgeConstraints.Items.Count; i++) for (int i = 0; i < table.EdgeConstraints.Items.Count; i++)
{ {
var edgeConstraint = table.EdgeConstraints.Items[i]; var edgeConstraint = table.EdgeConstraints.Items[i];
if (existingNames.Contains(edgeConstraint.Name)) if (existingNames.Contains(edgeConstraint.SystemName))
{ {
errors.Add(new TableDesignerIssue() errors.Add(new TableDesignerIssue()
{ {
Description = SR.NoDuplicateConstraintNameRuleDescription(edgeConstraint.Name, i + 1), Description = SR.NoDuplicateConstraintNameRuleDescription(edgeConstraint.SystemName, i + 1),
PropertyPath = new object[] { TablePropertyNames.EdgeConstraints, i, EdgeConstraintPropertyNames.Name } PropertyPath = new object[] { TablePropertyNames.EdgeConstraints, i, EdgeConstraintPropertyNames.Name }
}); });
} }
else else
{ {
existingNames.Add(edgeConstraint.Name); existingNames.Add(edgeConstraint.SystemName);
} }
} }
return errors; return errors;