diff --git a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs index 0d550996239..0991cfa4301 100644 --- a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs +++ b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs @@ -2210,17 +2210,15 @@ protected virtual void DropDefaultConstraint( .AppendLine(" nvarchar(max);") .Append("SELECT ") .Append(variable) - .AppendLine(" = QUOTENAME([d].[name])") - .AppendLine("FROM [sys].[default_constraints] [d]") - .AppendLine( - "INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]") - .Append("WHERE ([d].[parent_object_id] = OBJECT_ID(") + .AppendLine(" = QUOTENAME(OBJECT_NAME([c].[default_object_id]))") + .AppendLine("FROM [sys].[columns] [c]") + .Append("WHERE [c].[object_id] = OBJECT_ID(") .Append( stringTypeMapping.GenerateSqlLiteral( Dependencies.SqlGenerationHelper.DelimitIdentifier(tableName, schema))) .Append(") AND [c].[name] = ") .Append(stringTypeMapping.GenerateSqlLiteral(columnName)) - .AppendLine(");") + .AppendLine(";") .Append("IF ") .Append(variable) .Append(" IS NOT NULL EXEC(") diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs index 2cba1564ce1..002fc195f82 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs @@ -194,10 +194,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] ALTER COLUMN [Number] int NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [MyConstraint] DEFAULT 7 FOR [Number]; @@ -205,10 +204,9 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] ALTER COLUMN [Guid] uniqueidentifier NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [MyConstraintSql] DEFAULT (NEWID()) FOR [Guid]; @@ -620,10 +618,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] ALTER COLUMN [Number] int NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [DF_Entity_Number] DEFAULT 7 FOR [Number]; @@ -631,10 +628,9 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Guid'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] ALTER COLUMN [Guid] uniqueidentifier NOT NULL; ALTER TABLE [Entity] ADD CONSTRAINT [DF_Entity_Guid] DEFAULT (NEWID()) FOR [Guid]; diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs index b6016a8dde3..8ad01a99395 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.TemporalTables.cs @@ -1880,40 +1880,36 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Name]; """, // """ DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var5 nvarchar(max); -SELECT @var5 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var5 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var5 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var5 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -1977,40 +1973,36 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2073,40 +2065,36 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2173,40 +2161,36 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2273,40 +2257,36 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; """, @@ -2487,20 +2467,18 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; """, @@ -2564,20 +2542,18 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; """, @@ -3537,10 +3513,9 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IsVip'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IsVip'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); UPDATE [Customer] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [Customer] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3549,10 +3524,9 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IsVip'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IsVip'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); UPDATE [HistoryTable] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [HistoryTable] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3627,10 +3601,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); UPDATE [Customers] SET [IsVip] = CAST(0 AS bit) WHERE [IsVip] IS NULL; ALTER TABLE [Customers] ALTER COLUMN [IsVip] bit NOT NULL; @@ -3720,10 +3693,9 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [MyColumn] int SPARSE NULL; """, @@ -3983,20 +3955,18 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IdPlusFive'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'IdPlusFive'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [IdPlusFive]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IdPlusFive'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'IdPlusFive'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [IdPlusFive]; """, @@ -4167,20 +4137,18 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -4447,20 +4415,18 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] ALTER COLUMN [MyColumn] int SPARSE NULL; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'MyColumn'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] ALTER COLUMN [MyColumn] int SPARSE NULL; """, @@ -4526,10 +4492,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ALTER COLUMN [MyColumn] int NULL; """); @@ -4724,10 +4689,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ALTER COLUMN [Name] nvarchar(450) NULL; DECLARE @defaultSchema2 AS sysname; @@ -4888,10 +4852,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -4959,10 +4922,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -5437,20 +5399,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5547,20 +5507,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5653,20 +5611,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5747,20 +5703,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -5838,20 +5792,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, @@ -6008,20 +5960,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'DateOfBirth'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'DateOfBirth'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [DateOfBirth]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'DateOfBirth'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'DateOfBirth'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [DateOfBirth]; """, @@ -6413,10 +6363,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, @@ -6582,20 +6531,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6663,40 +6610,36 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Number]; """, // """ DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6762,20 +6705,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -6934,10 +6875,9 @@ await Test( // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [Number]; """, @@ -7127,20 +7067,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -7329,20 +7267,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'End'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [End]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Start'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Start]; """, @@ -8060,20 +7996,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodEnd'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodEnd'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [PeriodEnd]; """, // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodStart'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'PeriodStart'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [PeriodStart]; """, @@ -8084,20 +8018,18 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(max) NOT NULL; """, // """ DECLARE @var4 nvarchar(max); -SELECT @var4 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Id'); +SELECT @var4 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Id'; IF @var4 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var4 + ';'); ALTER TABLE [Customers] ALTER COLUMN [Id] int NOT NULL; """); @@ -8210,10 +8142,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'IsVip'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [IsVip]; """); @@ -8665,10 +8596,9 @@ await TestComposite( // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[RenamedCustomers]') AND [c].[name] = N'Number'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[RenamedCustomers]') AND [c].[name] = N'Number'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [RenamedCustomers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [RenamedCustomers] DROP COLUMN [Number]; """, @@ -9012,20 +8942,18 @@ ALTER TABLE [BrandNewCustomers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [SystemTimeStart]; """, @@ -9036,10 +8964,9 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'Extra'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[BrandNewCustomers]') AND [c].[name] = N'Extra'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [BrandNewCustomers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [BrandNewCustomers] DROP COLUMN [Extra]; """, @@ -9173,20 +9100,18 @@ ALTER TABLE [CustomersThree] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [CustomersThree] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [CustomersThree] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomersThree]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [CustomersThree] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [CustomersThree] DROP COLUMN [SystemTimeStart]; """, @@ -9289,20 +9214,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """, @@ -9389,20 +9312,18 @@ await TestComposite( // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """); @@ -9487,20 +9408,18 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [MyColumn]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [historySchema].[HistoryTable] DROP COLUMN [MyColumn]; """, @@ -9579,10 +9498,9 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); UPDATE [Customers] SET [MyColumn] = 0 WHERE [MyColumn] IS NULL; ALTER TABLE [Customers] ALTER COLUMN [MyColumn] int NOT NULL; @@ -9591,10 +9509,9 @@ FROM [sys].[default_constraints] [d] // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); UPDATE [historySchema].[HistoryTable] SET [MyColumn] = 0 WHERE [MyColumn] IS NULL; ALTER TABLE [historySchema].[HistoryTable] ALTER COLUMN [MyColumn] int NOT NULL; @@ -9693,20 +9610,18 @@ IF EXISTS (SELECT 1 FROM [sys].[tables] [t] INNER JOIN [sys].[partitions] [p] ON // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'MyColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Customers] DROP COLUMN [MyColumn]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[historySchema].[HistoryTable]') AND [c].[name] = N'MyColumn'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [historySchema].[HistoryTable] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [historySchema].[HistoryTable] DROP COLUMN [MyColumn]; """, @@ -9717,20 +9632,18 @@ ALTER TABLE [Customers] DROP PERIOD FOR SYSTEM_TIME // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [Customers] DROP COLUMN [SystemTimeStart]; """, @@ -9881,20 +9794,18 @@ await TestComposite( // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeEnd'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeEnd'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [modifiedDefaultSchema].[Customers] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [modifiedDefaultSchema].[Customers] DROP COLUMN [SystemTimeEnd]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeStart'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[modifiedDefaultSchema].[Customers]') AND [c].[name] = N'SystemTimeStart'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [modifiedDefaultSchema].[Customers] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [modifiedDefaultSchema].[Customers] DROP COLUMN [SystemTimeStart]; """); @@ -10230,20 +10141,18 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customer] ALTER COLUMN [Name] nvarchar(100) NULL; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'Name'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [CustomerHistory] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [CustomerHistory] ALTER COLUMN [Name] nvarchar(100) NULL; """, @@ -10303,10 +10212,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ADD DEFAULT N'DefaultName' FOR [Name]; """); @@ -10361,10 +10269,9 @@ await Test( AssertSql( """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'Name'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Customer] ADD DEFAULT N'NewDefault' FOR [Name]; """); @@ -10423,19 +10330,17 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'CreatedDate'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'CreatedDate'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT ' + @var2 + ';'); """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'CreatedDate'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[CustomerHistory]') AND [c].[name] = N'CreatedDate'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [CustomerHistory] DROP CONSTRAINT ' + @var3 + ';'); """, // @@ -10500,20 +10405,18 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) // """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [Customers] DROP COLUMN [Name]; """, // """ DECLARE @var3 nvarchar(max); -SELECT @var3 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'); +SELECT @var3 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'; IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT ' + @var3 + ';'); ALTER TABLE [HistoryTable] DROP COLUMN [Name]; """, diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs index 655c1d30cfb..fe079f0a456 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs @@ -1096,10 +1096,9 @@ public override async Task Alter_column_change_type() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeColumn] bigint NOT NULL; """); @@ -1112,10 +1111,9 @@ public override async Task Alter_column_make_required() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; @@ -1130,10 +1128,9 @@ public override async Task Alter_column_make_required_with_null_data() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; @@ -1150,10 +1147,9 @@ public override async Task Alter_column_make_required_with_index() """ DROP INDEX [IX_People_SomeColumn] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; @@ -1171,10 +1167,9 @@ public override async Task Alter_column_make_required_with_composite_index() """ DROP INDEX [IX_People_FirstName_LastName] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [FirstName] = N'' WHERE [FirstName] IS NULL; ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NOT NULL; @@ -1192,10 +1187,9 @@ public override async Task Alter_column_make_computed(bool? stored) AssertSql( $""" DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql}; @@ -1209,10 +1203,9 @@ public override async Task Alter_column_change_computed() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; @@ -1227,10 +1220,9 @@ public override async Task Alter_column_change_computed_recreates_indexes() """ DROP INDEX [IX_People_Sum] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; @@ -1248,10 +1240,9 @@ public override async Task Alter_column_change_computed_type() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] AS [X] + [Y] PERSISTED; @@ -1265,10 +1256,9 @@ public override async Task Alter_column_make_non_computed() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Sum]; ALTER TABLE [People] ADD [Sum] int NOT NULL; @@ -1343,10 +1333,9 @@ public override async Task Alter_column_set_collation() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL; """); @@ -1375,10 +1364,9 @@ await Test( """ DROP INDEX [IX_People_Name] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) COLLATE German_PhoneBook_CI_AS NULL; CREATE INDEX [IX_People_Name] ON [People] ([Name]); @@ -1393,10 +1381,9 @@ public override async Task Alter_column_reset_collation() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) NULL; """); @@ -1409,20 +1396,18 @@ public override async Task Convert_json_entities_to_regular_owned() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; """, @@ -1487,20 +1472,18 @@ public override async Task Convert_regular_owned_entities_to_json() // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_Date'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_Date'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference_Date]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_NestedReference_Number'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_NestedReference_Number'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference_NestedReference_Number]; """, @@ -1528,10 +1511,9 @@ public override async Task Convert_string_column_to_a_json_column_containing_req AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); UPDATE [Entity] SET [Name] = N'{}' WHERE [Name] IS NULL; ALTER TABLE [Entity] ALTER COLUMN [Name] nvarchar(max) NOT NULL; @@ -1576,10 +1558,9 @@ await Test( """ DROP INDEX [IX_People_SomeColumn] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; @@ -1617,10 +1598,9 @@ await Test( """ ALTER TABLE [People] DROP INDEX [IX_People_Name]; DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]); @@ -1650,10 +1630,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """); @@ -1689,10 +1668,9 @@ await Test( """ DROP INDEX [IX_People_FirstName_LastName] ON [People]; DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) INCLUDE ([Name]); @@ -1746,10 +1724,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'IdentityColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'IdentityColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [IdentityColumn] bigint NOT NULL; """); @@ -1791,10 +1768,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ADD DEFAULT N'Doe' FOR [Name]; """); @@ -1842,10 +1818,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeProperty'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeProperty'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeProperty] nvarchar(max) SPARSE NULL; """); @@ -1858,10 +1833,9 @@ public override async Task Drop_column() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [SomeColumn]; """); @@ -1878,10 +1852,9 @@ public override async Task Drop_column_primary_key() // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Id]; """); @@ -1894,20 +1867,18 @@ public override async Task Drop_column_computed_and_non_computed_with_dependency AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Y'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Y'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [Y]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'X'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'X'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [People] DROP COLUMN [X]; """); @@ -1920,20 +1891,18 @@ public override async Task Drop_json_columns_from_existing_table() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; """); @@ -1970,10 +1939,9 @@ public override async Task Create_index() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -1990,20 +1958,18 @@ public override async Task Create_index_unique() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LastName'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LastName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [LastName] nvarchar(450) NULL; """, // """ DECLARE @var1 nvarchar(max); -SELECT @var1 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +SELECT @var1 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var1 + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2068,10 +2034,9 @@ public override async Task Create_index_with_filter() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2105,10 +2070,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2125,10 +2089,9 @@ public override async Task Create_unique_index_with_filter() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2156,10 +2119,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2189,10 +2151,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; """, @@ -2230,10 +2191,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2273,10 +2233,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2316,10 +2275,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2361,10 +2319,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2409,10 +2366,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2458,10 +2414,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2505,10 +2460,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2553,10 +2507,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2604,10 +2557,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; """, @@ -2645,10 +2597,9 @@ await Test( AssertSql( """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -2684,10 +2635,9 @@ await Test( AssertSql( """ DECLARE @var2 nvarchar(max); -SELECT @var2 = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); +SELECT @var2 = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'; IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var2 + ';'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; """, @@ -3402,10 +3352,9 @@ public override async Task Add_primary_key_string() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; """, @@ -3422,10 +3371,9 @@ public override async Task Add_primary_key_with_name() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); UPDATE [People] SET [SomeField] = N'' WHERE [SomeField] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; @@ -3532,10 +3480,9 @@ public override async Task Drop_primary_key_string() // """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(max) NOT NULL; """); @@ -3894,10 +3841,9 @@ await Test( AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SeqProp'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SeqProp'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] DROP COLUMN [SeqProp]; """, diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs index f35ef7fd416..92b00c63a9f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs @@ -307,10 +307,9 @@ public override void AlterColumnOperation_without_column_type() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LuckyNumber'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LuckyNumber'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [LuckyNumber] int NOT NULL; """); @@ -342,10 +341,9 @@ public virtual void AlterColumnOperation_with_identity_legacy() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [People] ALTER COLUMN [Id] int NOT NULL; """); @@ -375,10 +373,9 @@ public virtual void AlterColumnOperation_with_index_no_oldColumn() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(30) NULL; """); @@ -414,10 +411,9 @@ public virtual void AlterColumnOperation_with_added_index() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(30) NULL; GO @@ -455,10 +451,9 @@ public virtual void AlterColumnOperation_with_added_index_no_oldType() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(450) NULL; GO @@ -488,10 +483,9 @@ public virtual void AlterColumnOperation_identity_legacy() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Id'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Id'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); ALTER TABLE [Person] ALTER COLUMN [Id] bigint NOT NULL; """); @@ -1870,10 +1864,9 @@ public virtual void AlterColumn_make_required_with_idempotent() AssertSql( """ DECLARE @var nvarchar(max); -SELECT @var = QUOTENAME([d].[name]) -FROM [sys].[default_constraints] [d] -INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] -WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); +SELECT @var = QUOTENAME(OBJECT_NAME([c].[default_object_id])) +FROM [sys].[columns] [c] +WHERE [c].[object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'; IF @var IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT ' + @var + ';'); EXEC(N'UPDATE [Person] SET [Name] = N'''' WHERE [Name] IS NULL'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(max) NOT NULL;