]> 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:53 +0000 (22:18 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Jul 2003 22:18:53 +0000 (22:18 +0000)
commit5925377401ef30036e78ac89c3d4edca12479161
treeeb3cff7d56eaffdb165918f4e17fe1e46021ede7
parent90011a89181df4f1b04b09db1651be90e9d95bd9
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