Skip to content

Commit daffaad

Browse files
committed
Improved checks for min/max values
When infinity aliases enabled Npgsql makes correct replacement, otherwise we replace "max value" from server with true max value
1 parent fe73869 commit daffaad

File tree

1 file changed

+7
-5
lines changed
  • Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0

1 file changed

+7
-5
lines changed

Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/TypeMapper.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)