MDEV-35525: Index corruption in reverse scans

btr_cur_t::search_leaf(): In the BTR_SEARCH_PREV and BTR_MODIFY_PREV
modes, reset the previous search status before invoking
page_cur_search_with_match(). Otherwise, we the search could invoke
in a totally wrong subtree.

This fixes a regression that was introduced in
commit de4030e4d49805a7ded5c0bfee01cc3fd7623522 (MDEV-30400).
This commit is contained in:
Marko Mäkelä 2024-11-29 15:12:20 +02:00
parent 507323abe6
commit 1a9011d273

View File

@ -1660,6 +1660,7 @@ release_tree:
ut_ad(block_savepoint + 2 == mtr->get_savepoint());
if (ret < 0)
{
up_match= 0, low_match= 0, up_bytes= 0, low_bytes= 0;
/* While our latch on the level-2 page prevents splits or
merges of this level-1 block, other threads may have
modified it due to splitting or merging some level-0 (leaf)