diff options
author | unknown <heikki@hundin.mysql.fi> | 2003-01-18 15:17:25 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2003-01-18 15:17:25 +0200 |
commit | d803ae0aa49af24acb5032dcfdc37d8c06f997fe (patch) | |
tree | ec7a738002bd9b233afcb04e361e88f86e6ffaa7 | |
parent | d26a7d483c53e83bf2d93d439f330c1826055b85 (diff) | |
parent | 99b314449f3e6529f52f28ae211a3975ff678863 (diff) | |
download | mariadb-git-d803ae0aa49af24acb5032dcfdc37d8c06f997fe.tar.gz |
Merge heikki@work.mysql.com:/home/bk/mysql
into hundin.mysql.fi:/home/heikki/mysql
-rw-r--r-- | innobase/btr/btr0sea.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/innobase/btr/btr0sea.c b/innobase/btr/btr0sea.c index 421aafba1c5..fd65a98cc0f 100644 --- a/innobase/btr/btr0sea.c +++ b/innobase/btr/btr0sea.c @@ -470,6 +470,7 @@ btr_search_check_guess( /*===================*/ /* out: TRUE if success */ btr_cur_t* cursor, /* in: guessed cursor position */ + ibool can_only_compare_to_cursor_rec, dtuple_t* tuple, /* in: data tuple */ ulint mode, /* in: PAGE_CUR_L, PAGE_CUR_LE, PAGE_CUR_G, or PAGE_CUR_GE */ @@ -528,6 +529,10 @@ btr_search_check_guess( } } + if (can_only_compare_to_cursor_rec) { + return(FALSE); + } + match = 0; bytes = 0; @@ -632,6 +637,7 @@ btr_search_guess_on_hash( ulint fold; ulint tuple_n_fields; dulint tree_id; + ibool can_only_compare_to_cursor_rec = TRUE; #ifdef notdefined btr_cur_t cursor2; btr_pcur_t pcur; @@ -706,6 +712,8 @@ btr_search_guess_on_hash( goto failure; } + can_only_compare_to_cursor_rec = FALSE; + buf_page_dbg_add_level(page, SYNC_TREE_NODE_FROM_HASH); } @@ -737,7 +745,9 @@ btr_search_guess_on_hash( fold); */ } else { - success = btr_search_check_guess(cursor, tuple, mode, mtr); + success = btr_search_check_guess(cursor, + can_only_compare_to_cursor_rec, + tuple, mode, mtr); } if (!success) { |