From fc2d1300fd5343fe6eb2bdddfc6fb305a35c3f9e Mon Sep 17 00:00:00 2001 From: Hai Cao Date: Thu, 21 Jul 2022 16:25:35 -0700 Subject: [PATCH] A few table designer fixes (#1581) * enable index rename * use SystemName to fix constraint name validator --- .../TableDesigner/TableDesignerService.cs | 1 - .../TableDesigner/TableDesignerValidator.cs | 19 +++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs index 2b1c8a39..aaab396c 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerService.cs @@ -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; diff --git a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerValidator.cs b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerValidator.cs index 5bc5cead..65f5bef0 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerValidator.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/TableDesigner/TableDesignerValidator.cs @@ -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;