Fix locking problem in _hash_squeezebucket() / _hash_freeovflpage().
A bucket squeeze operation needs to lock each page of the bucket
before releasing the prior page, but the previous coding fumbled the
locking when freeing an overflow page during a bucket squeeze
operation. Commit 6d46f4783efe457f74816a75173eb23ed8930020
introduced this bug.
Amit Kapila, with help from Kuntal Ghosh and Dilip Kumar, after
an initial trouble report by Jeff Janes. Reviewed by me. I also
fixed a problem with a comment.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/dd728826c538f000220af98de025c00114ad0631
Modified Files
--------------
src/backend/access/hash/hashovfl.c | 41 +++++++++++---------------------------
src/include/access/hash.h | 2 +-
2 files changed, 13 insertions(+), 30 deletions(-)