summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2003-01-18 15:17:25 +0200
committerunknown <heikki@hundin.mysql.fi>2003-01-18 15:17:25 +0200
commitd803ae0aa49af24acb5032dcfdc37d8c06f997fe (patch)
treeec7a738002bd9b233afcb04e361e88f86e6ffaa7
parentd26a7d483c53e83bf2d93d439f330c1826055b85 (diff)
parent99b314449f3e6529f52f28ae211a3975ff678863 (diff)
downloadmariadb-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.c12
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) {