From: Jeff Davis Date: Thu, 18 Jul 2019 23:38:39 +0000 (-0700) Subject: Fix error in commit e6feef57. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b538c90b1bded5464787e2b8e4431302d24eb601;p=postgresql Fix error in commit e6feef57. I was careless passing a datum directly to DATE_NOT_FINITE without calling DatumGetDateADT() first. Backpatch-through: 9.4 --- diff --git a/src/backend/utils/adt/rangetypes.c b/src/backend/utils/adt/rangetypes.c index 5fb347eacd..e5c7e5c7ee 100644 --- a/src/backend/utils/adt/rangetypes.c +++ b/src/backend/utils/adt/rangetypes.c @@ -1431,13 +1431,15 @@ daterange_canonical(PG_FUNCTION_ARGS) if (empty) PG_RETURN_RANGE_P(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;