diff options
Diffstat (limited to 'src/backend/utils/adt/timestamp.c')
-rw-r--r-- | src/backend/utils/adt/timestamp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 1dc4c820de..31bdb37c55 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -3233,7 +3233,7 @@ interval_mul(PG_FUNCTION_ARGS) /* cascade units down */ result->day += (int32) month_remainder_days; result_double = rint(span->time * factor + sec_remainder * USECS_PER_SEC); - if (result_double > PG_INT64_MAX || result_double < PG_INT64_MIN) + if (isnan(result_double) || !FLOAT8_FITS_IN_INT64(result_double)) ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("interval out of range"))); |