]> granicus.if.org Git - postgresql/commit
Fix longstanding error in _bt_search(): should moveright at top of loop not
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Jul 2003 22:18:48 +0000 (22:18 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Jul 2003 22:18:48 +0000 (22:18 +0000)
commita4ffca6bdfea4df003f6ffd044b575fabd7e084b
treeeff7eb79e99500ffb925bdb5b0d1226babd3531f
parent091b9c211c8a3598386f148ca8acb6e6ce2c794a
Fix longstanding error in _bt_search(): should moveright at top of loop not
bottom.  Otherwise we fail to moveright when the root page was split while
we were "in flight" to it.  This is not a significant problem when the root
is above the leaf level, but if the root was also a leaf (ie, a single-page
index just got split) we may return the wrong leaf page to the caller,
resulting in failure to find a key that is in fact present.  Bug has existed
at least since 7.1, probably forever.
src/backend/access/nbtree/nbtsearch.c