Skip to content

Commit f7bac09

Browse files
Omit ANSI_PADDING from schema (#771)
* Omit ANSI_PADDING from schema * Docs changes --------- Co-authored-by: GitHub Action <action@github.com>
1 parent 3bc1a97 commit f7bac09

11 files changed

Lines changed: 65 additions & 25 deletions

src/Tests/Tests.Schema.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Tables
2+
3+
### MultiIndexTable
4+
5+
```sql
6+
CREATE TABLE [dbo].[MultiIndexTable](
7+
[Id] [int] IDENTITY(1,1) NOT NULL,
8+
[Name] [nvarchar](100) NOT NULL,
9+
[Category] [nvarchar](50) NOT NULL,
10+
[Status] [int] NOT NULL,
11+
CONSTRAINT [PK_MultiIndexTable] PRIMARY KEY CLUSTERED
12+
(
13+
[Id] ASC
14+
) ON [PRIMARY]
15+
) ON [PRIMARY]
16+
17+
18+
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
19+
(
20+
[Category] ASC,
21+
[Name] ASC
22+
) ON [PRIMARY]
23+
24+
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
25+
(
26+
[Name] ASC
27+
) ON [PRIMARY]
28+
29+
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
30+
(
31+
[Status] DESC,
32+
[Name] ASC
33+
) ON [PRIMARY]
34+
```

src/Tests/Tests.SchemaAsMarkdown.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(

src/Tests/Tests.SchemaAsSql.verified.sql

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
6262
) ON [PRIMARY]
6363
) ON [PRIMARY]
6464

65-
SET ANSI_PADDING ON
6665

6766
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
6867
(
6968
[Category] ASC,
7069
[Name] ASC
7170
) ON [PRIMARY]
72-
SET ANSI_PADDING ON
7371

7472
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
7573
(
7674
[Name] ASC
7775
) ON [PRIMARY]
78-
SET ANSI_PADDING ON
7976

8077
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
8178
(

src/Tests/Tests.SchemaFilter.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(

src/Tests/Tests.SchemaInDynamic.verified.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,20 +79,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7979
) ON [PRIMARY]
8080
) ON [PRIMARY]
8181

82-
SET ANSI_PADDING ON
8382

8483
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8584
(
8685
[Category] ASC,
8786
[Name] ASC
8887
) ON [PRIMARY]
89-
SET ANSI_PADDING ON
9088

9189
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9290
(
9391
[Name] ASC
9492
) ON [PRIMARY]
95-
SET ANSI_PADDING ON
9693

9794
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9895
(

src/Tests/Tests.SchemaInclude.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(

src/Tests/Tests.SchemaIncludeAll.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(

src/Tests/Tests.SchemaIncludeTablesOnly.verified.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,17 @@ CREATE TABLE [dbo].[MultiIndexTable](
7777
) ON [PRIMARY]
7878
) ON [PRIMARY]
7979

80-
SET ANSI_PADDING ON
8180

8281
CREATE UNIQUE NONCLUSTERED INDEX [IX_MultiIndexTable_Category_Name] ON [dbo].[MultiIndexTable]
8382
(
8483
[Category] ASC,
8584
[Name] ASC
8685
) ON [PRIMARY]
87-
SET ANSI_PADDING ON
8886

8987
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Name] ON [dbo].[MultiIndexTable]
9088
(
9189
[Name] ASC
9290
) ON [PRIMARY]
93-
SET ANSI_PADDING ON
9491

9592
CREATE NONCLUSTERED INDEX [IX_MultiIndexTable_Status_Desc] ON [dbo].[MultiIndexTable]
9693
(

src/Tests/Tests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,4 +819,17 @@ await Verify(connection)
819819
.SchemaFilter(_ => _.Name == "ProcWithAnsiNullsOff")
820820
.SchemaIncludes(DbObjects.StoredProcedures);
821821
}
822+
823+
[Test]
824+
public async Task SchemaAnsiPaddingStripped()
825+
{
826+
await using var database = await sqlInstance.Build();
827+
var connection = database.Connection;
828+
829+
// MultiIndexTable has nvarchar indexes which cause SMO to emit SET ANSI_PADDING ON.
830+
// Verify the SET ANSI_PADDING statements are stripped from the output.
831+
await Verify(connection)
832+
.SchemaFilter(_ => _.Name == "MultiIndexTable")
833+
.SchemaIncludes(DbObjects.Tables);
834+
}
822835
}

0 commit comments

Comments
 (0)