]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Repair PANIC condition in hash indexes when a previous index extension attempt
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Apr 2007 20:24:28 +0000 (20:24 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Apr 2007 20:24:28 +0000 (20:24 +0000)
commit0f93ebd3389ca5726edae3e5600df600f901bafb
treed7b215e8f14cb866dbc1d2c628f26a6ad66d00a0
parent77be1e891d88e0c43b9b97ec00d2a7c5d7796219
Repair PANIC condition in hash indexes when a previous index extension attempt
failed (due to lock conflicts or out-of-space).  We might have already
extended the index's filesystem EOF before failing, causing the EOF to be
beyond what the metapage says is the last used page.  Hence the invariant
maintained by the code needs to be "EOF is at or beyond last used page",
not "EOF is exactly the last used page".  Problem was created by my patch
of 2006-11-19 that attempted to repair bug #2737.  Since that was
back-patched to 7.4, this needs to be as well.  Per report and test case
from Vlastimil Krejcir.
src/backend/access/hash/README
src/backend/access/hash/hashovfl.c
src/backend/access/hash/hashpage.c
src/include/access/hash.h