Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Use correct symbol for minimum int64 value
authorPeter Eisentraut <peter_e@gmx.net>
Sun, 17 Jul 2016 13:37:33 +0000 (09:37 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Sun, 17 Jul 2016 13:39:51 +0000 (09:39 -0400)
The old code used SEQ_MINVALUE to get the smallest int64 value.  This
was done as a convenience to avoid having to deal with INT64_IS_BUSTED,
but that is obsolete now.  Also, it is incorrect because the smallest
int64 value is actually SEQ_MINVALUE-1.  Fix by writing out the constant
the long way, as it is done elsewhere in the code.

contrib/btree_gin/btree_gin.c

index 5e6003f63cbe2f5a1befdc4971bb73fc5d72be26..1cff0e3d386c51d0314c0639cec8ae3ff7e3297b 100644 (file)
@@ -213,10 +213,7 @@ GIN_SUPPORT(int4)
 static Datum
 leftmostvalue_int8(void)
 {
-   /*
-    * Use sequence's definition to keep compatibility.
-    */
-   return Int64GetDatum(SEQ_MINVALUE);
+   return Int64GetDatum(-INT64CONST(0x7FFFFFFFFFFFFFFF) - 1);
 }
 static TypeInfo TypeInfo_int8 = {false, leftmostvalue_int8, btint8cmp};
 
@@ -243,10 +240,7 @@ GIN_SUPPORT(float8)
 static Datum
 leftmostvalue_money(void)
 {
-   /*
-    * Use sequence's definition to keep compatibility.
-    */
-   return Int64GetDatum(SEQ_MINVALUE);
+   return Int64GetDatum(-INT64CONST(0x7FFFFFFFFFFFFFFF) - 1);
 }
 static TypeInfo TypeInfo_money = {false, leftmostvalue_money, cash_cmp};