From b38006ef6d1ba2f56cc4962ed17956b74c9fa0c4 Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Tue, 4 Apr 2017 07:42:05 -0400
Subject: [PATCH] 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
---
 src/backend/access/hash/hashutil.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/backend/access/hash/hashutil.c b/src/backend/access/hash/hashutil.c
index d679cf0aed9..037582bd792 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;
-- 
GitLab