]> granicus.if.org Git - postgresql/commitdiff
Fix error in commit e6feef57.
authorJeff Davis <jdavis@postgresql.org>
Fri, 19 Jul 2019 00:01:58 +0000 (17:01 -0700)
committerJeff Davis <jdavis@postgresql.org>
Fri, 19 Jul 2019 00:01:58 +0000 (17:01 -0700)
I was careless passing a datum directly to DATE_NOT_FINITE without
calling DatumGetDateADT() first.

Backpatch-through: 9.4

src/backend/utils/adt/rangetypes.c

index b4d50ec639f1a0ec3f51d793e798adb4f51fa421..a34d589bdb2323430395ff9a419070cade8504b6 100644 (file)
@@ -1338,13 +1338,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;