]> granicus.if.org Git - postgresql/commitdiff
Fix bogus return macros in range_overright_internal().
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Aug 2014 17:48:43 +0000 (13:48 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Aug 2014 17:48:43 +0000 (13:48 -0400)
PG_RETURN_BOOL() should only be used in functions following the V1 SQL
function API.  This coding accidentally fails to fail since letting the
compiler coerce the Datum representation of bool back to plain bool
does give the right answer; but that doesn't make it a good idea.

Back-patch to older branches just to avoid unnecessary code divergence.

src/backend/utils/adt/rangetypes.c

index bc8a480ed3ef525d53d7b8f207917cb33914fd48..c1c3091391ff33d071b784a30904589ccc1ab4c0 100644 (file)
@@ -917,12 +917,12 @@ range_overright_internal(TypeCacheEntry *typcache, RangeType *r1, RangeType *r2)
 
        /* An empty range is neither before nor after any other range */
        if (empty1 || empty2)
-               PG_RETURN_BOOL(false);
+               return false;
 
        if (range_cmp_bounds(typcache, &lower1, &lower2) >= 0)
-               PG_RETURN_BOOL(true);
+               return true;
 
-       PG_RETURN_BOOL(false);
+       return false;
 }
 
 /* does not extend to left of? */