@@ -222,7 +222,7 @@ public async Task YdbParameter_WhenYdbDbTypeSetAndValueIsNull_ReturnsNullValue()
222222 public async Task YdbParameter_WhenYdbDbTypeSetAndValueIsNotNull_ReturnsValue ( )
223223 {
224224 await using var ydbConnection = await CreateOpenConnectionAsync ( ) ;
225- var tableName = $ "NouNull_YdbDbType_ { Random . Shared . Next ( ) } ";
225+ var tableName = $ "NonNull_YdbDbType_ { Random . Shared . Next ( ) } ";
226226 await new YdbCommand ( ydbConnection )
227227 {
228228 CommandText = $ """
@@ -248,6 +248,10 @@ CustomDecimalColumn Decimal(35, 5) NOT NULL,
248248 IntervalColumn Interval NOT NULL,
249249 JsonColumn Json NOT NULL,
250250 JsonDocumentColumn JsonDocument NOT NULL,
251+ Date32Column Date32 NOT NULL,
252+ Datetime64Column DateTime64 NOT NULL,
253+ Timestamp64Column Timestamp64 NOT NULL,
254+ Interval64Column Interval64 NOT NULL,
251255 PRIMARY KEY (Int32Column)
252256 );
253257 """
@@ -260,12 +264,14 @@ PRIMARY KEY (Int32Column)
260264 Int32Column, BoolColumn, Int64Column, Int16Column, Int8Column, FloatColumn, DoubleColumn,
261265 DefaultDecimalColumn, CustomDecimalColumn, Uint8Column, Uint16Column, Uint32Column,
262266 Uint64Column, TextColumn, BytesColumn, DateColumn, DatetimeColumn, TimestampColumn,
263- IntervalColumn, JsonColumn, JsonDocumentColumn
267+ IntervalColumn, JsonColumn, JsonDocumentColumn, Date32Column, Datetime64Column,
268+ Timestamp64Column, Interval64Column
264269 ) VALUES (
265270 @Int32Column, @BoolColumn, @Int64Column, @Int16Column, @Int8Column, @FloatColumn,
266271 @DoubleColumn, @DefaultDecimalColumn, @CustomDecimalColumn, @Uint8Column, @Uint16Column,
267272 @Uint32Column, @Uint64Column, @TextColumn, @BytesColumn, @DateColumn, @DatetimeColumn,
268- @TimestampColumn, @IntervalColumn, @JsonColumn, @JsonDocumentColumn
273+ @TimestampColumn, @IntervalColumn, @JsonColumn, @JsonDocumentColumn, @Date32Column,
274+ @Datetime64Column, @Timestamp64Column, @Interval64Column
269275 );
270276 """ ,
271277 Parameters =
@@ -290,7 +296,12 @@ PRIMARY KEY (Int32Column)
290296 new YdbParameter ( "TimestampColumn" , YdbDbType . Timestamp , DateTime . UnixEpoch ) ,
291297 new YdbParameter ( "IntervalColumn" , YdbDbType . Interval , TimeSpan . Zero ) ,
292298 new YdbParameter ( "JsonColumn" , YdbDbType . Json , "{}" ) ,
293- new YdbParameter ( "JsonDocumentColumn" , YdbDbType . JsonDocument , "{}" )
299+ new YdbParameter ( "JsonDocumentColumn" , YdbDbType . JsonDocument , "{}" ) ,
300+ new YdbParameter ( "Date32Column" , YdbDbType . Date32 , DateTime . MinValue ) ,
301+ new YdbParameter ( "Datetime64Column" , YdbDbType . Datetime64 , DateTime . MinValue ) ,
302+ new YdbParameter ( "Timestamp64Column" , YdbDbType . Timestamp64 , DateTime . MinValue ) ,
303+ new YdbParameter ( "Interval64Column" , YdbDbType . Interval64 ,
304+ TimeSpan . FromMilliseconds ( TimeSpan . MinValue . Milliseconds ) )
294305 }
295306 } . ExecuteNonQueryAsync ( ) ;
296307
@@ -301,7 +312,8 @@ PRIMARY KEY (Int32Column)
301312 Int32Column, BoolColumn, Int64Column, Int16Column, Int8Column, FloatColumn, DoubleColumn,
302313 DefaultDecimalColumn, CustomDecimalColumn, Uint8Column, Uint16Column, Uint32Column,
303314 Uint64Column, TextColumn, BytesColumn, DateColumn, DatetimeColumn, TimestampColumn,
304- IntervalColumn, JsonColumn, JsonDocumentColumn
315+ IntervalColumn, JsonColumn, JsonDocumentColumn, Date32Column, Datetime64Column,
316+ Timestamp64Column, Interval64Column
305317 FROM { tableName } ;
306318 """
307319 } . ExecuteReaderAsync ( ) ;
@@ -328,14 +340,13 @@ PRIMARY KEY (Int32Column)
328340 Assert . Equal ( TimeSpan . Zero , ydbDataReader . GetInterval ( 18 ) ) ;
329341 Assert . Equal ( "{}" , ydbDataReader . GetJson ( 19 ) ) ;
330342 Assert . Equal ( "{}" , ydbDataReader . GetJsonDocument ( 20 ) ) ;
343+ Assert . Equal ( DateTime . MinValue , ydbDataReader . GetDateTime ( 21 ) ) ;
344+ Assert . Equal ( DateTime . MinValue , ydbDataReader . GetDateTime ( 22 ) ) ;
345+ Assert . Equal ( DateTime . MinValue , ydbDataReader . GetDateTime ( 23 ) ) ;
346+ Assert . Equal ( TimeSpan . FromMilliseconds ( TimeSpan . MinValue . Milliseconds ) , ydbDataReader . GetInterval ( 24 ) ) ;
331347 Assert . False ( ydbDataReader . Read ( ) ) ;
332348 await ydbDataReader . CloseAsync ( ) ;
333349
334350 await new YdbCommand ( ydbConnection ) { CommandText = $ "DROP TABLE { tableName } " } . ExecuteNonQueryAsync ( ) ;
335351 }
336-
337- [ Fact ]
338- public async Task YdbDbType_WhenEnableNewDateTimeTypes_ReturnsExpectedTypes ( )
339- {
340- }
341352}
0 commit comments