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();
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.Enabled = index.CanEditDescription;
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++)
{
var foreignKey = table.ForeignKeys.Items[i];
if (existingNames.Contains(foreignKey.Name))
if (existingNames.Contains(foreignKey.SystemName))
{
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 }
});
}
else
{
existingNames.Add(foreignKey.Name);
existingNames.Add(foreignKey.SystemName);
}
}
for (int i = 0; i < table.CheckConstraints.Items.Count; i++)
{
var checkConstraint = table.CheckConstraints.Items[i];
if (existingNames.Contains(checkConstraint.Name))
if (existingNames.Contains(checkConstraint.SystemName))
{
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 }
});
}
else
{
existingNames.Add(checkConstraint.Name);
existingNames.Add(checkConstraint.SystemName);
}
}
for (int i = 0; i < table.EdgeConstraints.Items.Count; i++)
{
var edgeConstraint = table.EdgeConstraints.Items[i];
if (existingNames.Contains(edgeConstraint.Name))
if (existingNames.Contains(edgeConstraint.SystemName))
{
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 }
});
}
else
{
existingNames.Add(edgeConstraint.Name);
existingNames.Add(edgeConstraint.SystemName);
}
}
return errors;