aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2019-07-18 16:56:18 -0700
committerJeff Davis <jdavis@postgresql.org>2019-07-18 16:56:18 -0700
commitf1c72294ba62ccc95bc510e2ee52f537fc9ec5bf (patch)
tree4a01fd0b407084545bf4f363f803b4b53fe75aec
parent8af1fccba2b1a46d58fad46ed8d03e8c92fe1152 (diff)
downloadpostgresql-f1c72294ba62ccc95bc510e2ee52f537fc9ec5bf.tar.gz
postgresql-f1c72294ba62ccc95bc510e2ee52f537fc9ec5bf.zip
Fix error in commit e6feef57.
I was careless passing a datum directly to DATE_NOT_FINITE without calling DatumGetDateADT() first. Backpatch-through: 9.4
-rw-r--r--src/backend/utils/adt/rangetypes.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/utils/adt/rangetypes.c b/src/backend/utils/adt/rangetypes.c
index 288052347b3..fd429f14759 100644
--- a/src/backend/utils/adt/rangetypes.c
+++ b/src/backend/utils/adt/rangetypes.c
@@ -1366,13 +1366,15 @@ daterange_canonical(PG_FUNCTION_ARGS)
if (empty)
PG_RETURN_RANGE(r);
- if (!lower.infinite && !DATE_NOT_FINITE(lower.val) && !lower.inclusive)
+ if (!lower.infinite && !DATE_NOT_FINITE(DatumGetDateADT(lower.val)) &&
+ !lower.inclusive)
{
lower.val = DirectFunctionCall2(date_pli, lower.val, Int32GetDatum(1));
lower.inclusive = true;
}
- if (!upper.infinite && !DATE_NOT_FINITE(upper.val) && upper.inclusive)
+ if (!upper.infinite && !DATE_NOT_FINITE(DatumGetDateADT(upper.val)) &&
+ upper.inclusive)
{
upper.val = DirectFunctionCall2(date_pli, upper.val, Int32GetDatum(1));
upper.inclusive = false;