@@ -158,5 +158,34 @@ public void GetSqlFromDataTableCreatesIdNonClusteredIndexColumnsCorrectly()
158
158
// Assert
159
159
Assert . Contains ( expectedResult , result ) ;
160
160
}
161
+
162
+ [ Fact ]
163
+ public void GetSqlFromDataTableCreatesClusteredColumnStoreIndexCorrectly ( )
164
+ {
165
+ // Arrange
166
+ var dataTable = new DataTable ( ) ;
167
+ var dataColumnId = new DataColumn ( ) ;
168
+ var sqlColumnId = new SqlColumn { AllowNull = false , ColumnName = "Id" , DataType = SqlDbType . Int , StandardColumnIdentifier = StandardColumn . Id } ;
169
+ dataColumnId . ExtendedProperties [ "SqlColumn" ] = sqlColumnId ;
170
+ dataTable . Columns . Add ( dataColumnId ) ;
171
+ var dataColumnMessage = new DataColumn ( ) ;
172
+ var sqlColumnMessage = new SqlColumn { AllowNull = false , ColumnName = "Message" , DataType = SqlDbType . NVarChar , DataLength = 100 } ;
173
+ dataColumnMessage . ExtendedProperties [ "SqlColumn" ] = sqlColumnMessage ;
174
+ dataTable . Columns . Add ( dataColumnMessage ) ;
175
+ var columnOptions = new Serilog . Sinks . MSSqlServer . ColumnOptions { PrimaryKey = sqlColumnId , ClusteredColumnstoreIndex = true } ;
176
+ string expectedResult = "CREATE TABLE [TestSchemaName].[TestTableName] ( \r \n "
177
+ + "[Id] INT IDENTITY(1,1) NOT NULL,\r \n "
178
+ + "[Message] NVARCHAR(100) NOT NULL\r \n "
179
+ + " CONSTRAINT [PK_TestTableName] PRIMARY KEY CLUSTERED ([Id])\r \n "
180
+ + ");\r \n "
181
+ + "CREATE CLUSTERED COLUMNSTORE INDEX [CCI_TestTableName] ON [TestSchemaName].[TestTableName]\r \n "
182
+ + "END" ;
183
+
184
+ // Act
185
+ var result = _sut . GetSqlFromDataTable ( "TestSchemaName" , "TestTableName" , dataTable , columnOptions ) ;
186
+
187
+ // Assert
188
+ Assert . Contains ( expectedResult , result ) ;
189
+ }
161
190
}
162
191
}
0 commit comments