]> granicus.if.org Git - postgresql/commit
Fix locking problem in _hash_squeezebucket() / _hash_freeovflpage().
authorRobert Haas <rhaas@postgresql.org>
Mon, 19 Dec 2016 17:31:50 +0000 (12:31 -0500)
committerRobert Haas <rhaas@postgresql.org>
Mon, 19 Dec 2016 17:31:50 +0000 (12:31 -0500)
commitdd728826c538f000220af98de025c00114ad0631
treeffcd6a1c51b91d641195ce2cadb0baaf0c6ff8c9
parent668dbbec27da05b35a6972e9d833115dce0b6ccc
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.
src/backend/access/hash/hashovfl.c
src/include/access/hash.h