OSDN Git Service

Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: the initial
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 Aug 2004 23:15:33 +0000 (23:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 Aug 2004 23:15:33 +0000 (23:15 +0000)
commit19cd31b0682d32142edf7599b653d4eff7031a8c
tree110b97285c4075341a357a3d9974c38ef35eed8d
parentfcaad7e2c11b74c9bd30ad483b99d45a71e3f925
Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: the initial
value of 'start' could be past the end of the page, if the page was
split by some concurrent inserting process since we visited it.  In
this situation the code could look at bogus entries and possibly find
a match (since after all those entries still contain what they had
before the split).  This would lead to 'specified item offset is too large'
followed by 'PANIC: failed to add item to the page', as reported by Joe
Conway for scenarios involving heavy concurrent insertion activity.
src/backend/access/nbtree/nbtinsert.c