]> 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:38 +0000 (22:18 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Jul 2003 22:18:38 +0000 (22:18 +0000)
commit892a51c3678b9f9bdfa1b52094a68917288dd09f
tree4986e3779325869963d73e59dd1725fe37e25ad8
parent5e3c09a11466acbe53a9bf75322a94c859d6c2f8
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