pgsql-server/src/backend/access/nbtree README ...

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server/src/backend/access/nbtree README ...
Date: 2002-10-20 20:47:32
Message-ID: 20021020204732.24FC0475D12@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl(at)postgresql(dot)org 02/10/20 16:47:32

Modified files:
src/backend/access/nbtree: README nbtree.c

Log message:
Fix potential problem with btbulkdelete deleting an indexscan's current
item, if the page containing the current item is split while the indexscan
is stopped and holds no read-lock on the page. The current item might
move right onto a page that the indexscan holds no pin on. In the prior
code this would allow btbulkdelete to reach and possibly delete the item,
causing 'my bits moved right off the end of the world!' when the indexscan
finally resumes. Fix by chaining read-locks to the right during
_bt_restscan and requiring btbulkdelete to LockBufferForCleanup on every
page it scans, not only those with deletable items. Per my pghackers
message of 25-May-02. (Too bad no one could think of a better way.)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian - CVS 2002-10-20 20:58:02 pgsql-server/doc/src/sgml cvs.sgml
Previous Message Tom Lane 2002-10-20 19:38:10 pgsql-server/contrib/pgbench pgbench.c