@@ -256,9 +256,10 @@ public override object ReadDateOnly(DbDataReader reader, int index)
256256 public override object ReadDateTime ( DbDataReader reader , int index )
257257 {
258258 var value = reader . GetDateTime ( index ) ;
259- if ( value . Ticks == 0 )
260- return DateTime . MinValue ;
259+ if ( value == DateTime . MinValue || value == DateTime . MaxValue )
260+ return value ;
261261 if ( value . Ticks == DateTimeMaxValueAdjustedTicks ) {
262+ // When Infinity aliases are disabled.
262263 // To not ruin possible comparisons with defined value,
263264 // it is better to return definded value,
264265 // not the 6-digit version from PostgreSQL
@@ -272,14 +273,15 @@ public override object ReadDateTimeOffset(DbDataReader reader, int index)
272273 {
273274 var nativeReader = ( NpgsqlDataReader ) reader ;
274275 var value = nativeReader . GetFieldValue < DateTimeOffset > ( index ) ;
275- if ( value . Ticks == DateTimeMaxValueAdjustedTicks ) {
276+ if ( value . Ticks == DateTimeMaxValueAdjustedTicks ) {
277+ // When Infinity aliases are disabled.
276278 // To not ruin possible comparisons with defined values,
277279 // it is better to return definded value,
278280 // not the 6-fractions version from PostgreSQL
279281 return DateTimeOffset . MaxValue ;
280282 }
281- if ( value . Ticks == 0 )
282- return DateTimeOffset . MinValue ;
283+ if ( value == DateTimeOffset . MaxValue || value == DateTimeOffset . MaxValue )
284+ return value ;
283285
284286 if ( legacyTimestampBehaviorEnabled ) {
285287 // Npgsql 4 or older behavior
0 commit comments