diff options
author | unknown <marko@hundin.mysql.fi> | 2004-03-31 11:41:16 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2004-03-31 11:41:16 +0300 |
commit | b3d32a9fb9713d6da925d842f4294f7c5e877d3d (patch) | |
tree | c42b97a2a8762f024246b5f49af996df30a1c2d7 | |
parent | 4f12f97c7d8497a2f00a1451374917cac7cad28c (diff) | |
parent | 2964d1a248a1043709760fefdbdefad132a8a314 (diff) | |
download | mariadb-git-b3d32a9fb9713d6da925d842f4294f7c5e877d3d.tar.gz |
Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/j/mysql-4.0
-rw-r--r-- | innobase/btr/btr0cur.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index e5c8762bdb9..c7863ba08e4 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -120,7 +120,6 @@ static void btr_cur_latch_leaves( /*=================*/ - dict_tree_t* tree __attribute__((unused)), /* in: index tree */ page_t* page, /* in: leaf page where the search converged */ ulint space, /* in: space id */ @@ -133,7 +132,7 @@ btr_cur_latch_leaves( ulint right_page_no; page_t* get_page; - ut_ad(tree && page && mtr); + ut_ad(page && mtr); if (latch_mode == BTR_SEARCH_LEAF) { @@ -365,17 +364,19 @@ btr_cur_search_to_nth_level( B-tree. These let us end up in the right B-tree leaf. In that leaf we use the original search mode. */ - if (mode == PAGE_CUR_GE) { + switch (mode) { + case PAGE_CUR_GE: page_mode = PAGE_CUR_L; - } else if (mode == PAGE_CUR_G) { + break; + case PAGE_CUR_G: page_mode = PAGE_CUR_LE; - } else if (mode == PAGE_CUR_LE) { - page_mode = PAGE_CUR_LE; - } else if (mode == PAGE_CUR_LE_OR_EXTENDS) { - page_mode = PAGE_CUR_LE_OR_EXTENDS; - } else { - ut_ad(mode == PAGE_CUR_L); - page_mode = PAGE_CUR_L; + break; + default: + ut_ad(mode == PAGE_CUR_L + || mode == PAGE_CUR_LE + || mode == PAGE_CUR_LE_OR_EXTENDS); + page_mode = mode; + break; } /* Loop and search until we arrive at the desired level */ @@ -450,7 +451,7 @@ retry_page_get: if (height == 0) { if (rw_latch == RW_NO_LATCH) { - btr_cur_latch_leaves(tree, page, space, + btr_cur_latch_leaves(page, space, page_no, latch_mode, cursor, mtr); } @@ -477,6 +478,9 @@ retry_page_get: /* If this is the desired level, leave the loop */ + ut_ad(height + == btr_page_get_level(page_cur_get_page(page_cursor), mtr)); + if (level == height) { if (level > 0) { @@ -588,7 +592,7 @@ btr_cur_open_at_index_side( } if (height == 0) { - btr_cur_latch_leaves(tree, page, space, page_no, + btr_cur_latch_leaves(page, space, page_no, latch_mode, cursor, mtr); /* In versions <= 3.23.52 we had forgotten to @@ -694,7 +698,7 @@ btr_cur_open_at_rnd_pos( } if (height == 0) { - btr_cur_latch_leaves(tree, page, space, page_no, + btr_cur_latch_leaves(page, space, page_no, latch_mode, cursor, mtr); } |