Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix error in commit e6feef57.
authorJeff Davis <jdavis@postgresql.org>
Thu, 18 Jul 2019 23:45:03 +0000 (16:45 -0700)
committerJeff Davis <jdavis@postgresql.org>
Thu, 18 Jul 2019 23:45:03 +0000 (16:45 -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 5b28e74a593a6ab109821f0b6276709eaf11582a..558e7becc4ee1917032c2e768a73e341b1dc03e1 100644 (file)
@@ -1430,13 +1430,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;