summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2016-07-17 09:37:33 -0400
committerPeter Eisentraut <peter_e@gmx.net>2016-07-17 09:38:23 -0400
commit805f2bb53f954a859fa0e7f27e13ba87c9e03595 (patch)
treec5b777a4e632a6d076ec0c7f21ddef5b19a4fd24
parent16e28fcec2fe235abddd501c17536c3b15a4dcec (diff)
Use correct symbol for minimum int64 value
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.
-rw-r--r--contrib/btree_gin/btree_gin.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/contrib/btree_gin/btree_gin.c b/contrib/btree_gin/btree_gin.c
index 5e6003f63cb..1cff0e3d386 100644
--- a/contrib/btree_gin/btree_gin.c
+++ b/contrib/btree_gin/btree_gin.c
@@ -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};