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:37:33 -0400
commit97d741650d4cd0e9c7724065ae6363ab0dcf1c60 (patch)
treeed13fc0b685920311483f9168ea3c6eb0f3378b1
parent59fa0195c4a735fe2e5a51c4bcc8fde33aef6325 (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 87d23e03505..6780c272c84 100644
--- a/contrib/btree_gin/btree_gin.c
+++ b/contrib/btree_gin/btree_gin.c
@@ -209,10 +209,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};
@@ -239,10 +236,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};