From: Robert Haas Date: Tue, 4 Apr 2017 11:42:05 +0000 (-0400) Subject: Fix formula in _hash_spareindex. X-Git-Tag: REL_10_BETA1~400 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b38006ef6d1ba2f56cc4962ed17956b74c9fa0c4;p=postgresql Fix formula in _hash_spareindex. This was correct in earlier versions of the patch that lead to commit ea69a0dead5128c421140dc53fac165ba4af8520, but somehow got broken in the last version which I actually committed. Mithun Cy, per an off-list report from Ashutosh Sharma Discussion: http://postgr.es/m/CAD__OujbAwNU71v1y-RoQxZ8LZ6-V2UFTkex3v34MK6uZ3Xb5w@mail.gmail.com --- diff --git a/src/backend/access/hash/hashutil.c b/src/backend/access/hash/hashutil.c index d679cf0aed..037582bd79 100644 --- a/src/backend/access/hash/hashutil.c +++ b/src/backend/access/hash/hashutil.c @@ -174,7 +174,8 @@ _hash_spareindex(uint32 num_bucket) /* account for phases within current group */ splitpoint_phases += - (((num_bucket - 1) >> (HASH_SPLITPOINT_PHASE_BITS + 1)) & + (((num_bucket - 1) >> + (splitpoint_group - (HASH_SPLITPOINT_PHASE_BITS + 1))) & HASH_SPLITPOINT_PHASE_MASK); /* to 0-based value. */ return splitpoint_phases;