@@ -1145,6 +1145,66 @@ public void BulkCopyColumnMappingsInvalidDestinationColumn()
11451145 Assert . Throws < InvalidOperationException > ( ( ) => bulkCopy . WriteToServer ( dataTable ) ) ;
11461146 }
11471147
1148+ [ Fact ]
1149+ public void BulkCopyToTableWithYear ( )
1150+ {
1151+ using var connection = new MySqlConnection ( GetLocalConnectionString ( ) ) ;
1152+ connection . Open ( ) ;
1153+
1154+ using var cmd = connection . CreateCommand ( ) ;
1155+ cmd . CommandText = """
1156+ DROP TABLE IF EXISTS bulk_copy_year;
1157+ CREATE TABLE bulk_copy_year(int_value int NULL, year_value year NULL)
1158+ """ ;
1159+ cmd . ExecuteNonQuery ( ) ;
1160+
1161+ var bulkCopy = new MySqlBulkCopy ( connection )
1162+ {
1163+ DestinationTableName = "bulk_copy_year" ,
1164+ ColumnMappings =
1165+ {
1166+ new MySqlBulkCopyColumnMapping ( 0 , "int_value" , null ) ,
1167+ } ,
1168+ } ;
1169+
1170+ var dt = new DataTable ( ) ;
1171+ dt . Columns . Add ( "numbers" ) ;
1172+ dt . Rows . Add ( 1 ) ;
1173+ dt . Rows . Add ( 2 ) ;
1174+
1175+ var result = bulkCopy . WriteToServer ( dt ) ;
1176+ Assert . Equal ( 2 , result . RowsInserted ) ;
1177+ Assert . Empty ( result . Warnings ) ;
1178+ }
1179+
1180+ [ Fact ]
1181+ public void BulkCopyToTableWithYearNotSupported ( )
1182+ {
1183+ using var connection = new MySqlConnection ( GetLocalConnectionString ( ) ) ;
1184+ connection . Open ( ) ;
1185+
1186+ using var cmd = connection . CreateCommand ( ) ;
1187+ cmd . CommandText = """
1188+ DROP TABLE IF EXISTS bulk_copy_year;
1189+ CREATE TABLE bulk_copy_year(int_value int NULL, year_value year NULL)
1190+ """ ;
1191+ cmd . ExecuteNonQuery ( ) ;
1192+
1193+ var bulkCopy = new MySqlBulkCopy ( connection )
1194+ {
1195+ DestinationTableName = "bulk_copy_year" ,
1196+ } ;
1197+
1198+ var dt = new DataTable ( ) ;
1199+ dt . Columns . Add ( "numbers" ) ;
1200+ dt . Columns . Add ( "year" ) ;
1201+ dt . Rows . Add ( 1 , 2000 ) ;
1202+ dt . Rows . Add ( 2 , 2001 ) ;
1203+
1204+ var exception = Assert . Throws < NotSupportedException > ( ( ) => bulkCopy . WriteToServer ( dt ) ) ;
1205+ Assert . Equal ( "'YEAR' columns are not supported by MySqlBulkCopy." , exception . Message ) ;
1206+ }
1207+
11481208 [ Fact ]
11491209 public void BulkCopyDoesNotInsertAllRows ( )
11501210 {
0 commit comments