diff options
author | unknown <monty@hundin.mysql.fi> | 2001-11-18 14:33:53 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-11-18 14:33:53 +0200 |
commit | b87029d80cc3476b8c57e1a0770623d4ed3e9c0a (patch) | |
tree | 1187f38a1c1328c1f13ef771f484af421ee2566b /innobase/btr | |
parent | 21259d25f3e76801631dbde560a6da5a65aa00f3 (diff) | |
parent | 421595c12e731bb50e6fe6f9985d950e023e4667 (diff) | |
download | mariadb-git-b87029d80cc3476b8c57e1a0770623d4ed3e9c0a.tar.gz |
Merge
Docs/manual.texi:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/mysqld.cc:
Auto merged
mysql-test/t/myisam.test:
Auto merged
Diffstat (limited to 'innobase/btr')
-rw-r--r-- | innobase/btr/btr0btr.c | 24 | ||||
-rw-r--r-- | innobase/btr/btr0cur.c | 6 |
2 files changed, 16 insertions, 14 deletions
diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index 9cfd1806c5f..c71ef017aa8 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -21,7 +21,7 @@ Created 6/2/1994 Heikki Tuuri #include "lock0lock.h" #include "ibuf0ibuf.h" -/** +/* Node pointers ------------- Leaf pages of a B-tree contain the index records stored in the @@ -550,14 +550,15 @@ btr_page_get_father_for_rec( ut_ad(mtr_memo_contains(mtr, dict_tree_get_lock(tree), MTR_MEMO_X_LOCK)); - ut_ad(user_rec != page_get_supremum_rec(page)); - ut_ad(user_rec != page_get_infimum_rec(page)); + ut_a(user_rec != page_get_supremum_rec(page)); + ut_a(user_rec != page_get_infimum_rec(page)); ut_ad(dict_tree_get_page(tree) != buf_frame_get_page_no(page)); heap = mem_heap_create(100); - tuple = dict_tree_build_node_ptr(tree, user_rec, 0, heap); + tuple = dict_tree_build_node_ptr(tree, user_rec, 0, heap, + btr_page_get_level(page, mtr)); /* In the following, we choose just any index from the tree as the first parameter for btr_cur_search_to_nth_level. */ @@ -569,7 +570,7 @@ btr_page_get_father_for_rec( node_ptr = btr_cur_get_rec(&cursor); - ut_ad(btr_node_ptr_get_child_page_no(node_ptr) == + ut_a(btr_node_ptr_get_child_page_no(node_ptr) == buf_frame_get_page_no(page)); mem_heap_free(heap); @@ -949,8 +950,8 @@ btr_root_raise_and_insert( /* Build the node pointer (= node key and page address) for the child */ - node_ptr = dict_tree_build_node_ptr(tree, rec, new_page_no, heap); - + node_ptr = dict_tree_build_node_ptr(tree, rec, new_page_no, heap, + level); /* Reorganize the root to get free space */ btr_page_reorganize(root, mtr); @@ -1365,7 +1366,7 @@ btr_attach_half_pages( half */ node_ptr_upper = dict_tree_build_node_ptr(tree, split_rec, - upper_page_no, heap); + upper_page_no, heap, level); /* Insert it next to the pointer to the lower half. Note that this may generate recursion leading to a split on the higher level. */ @@ -2230,7 +2231,7 @@ btr_check_node_ptr( node_ptr_tuple = dict_tree_build_node_ptr( tree, page_rec_get_next(page_get_infimum_rec(page)), - 0, heap); + 0, heap, btr_page_get_level(page, mtr)); ut_a(cmp_dtuple_rec(node_ptr_tuple, node_ptr) == 0); @@ -2485,10 +2486,11 @@ loop: heap = mem_heap_create(256); node_ptr_tuple = dict_tree_build_node_ptr( - tree, + tree, page_rec_get_next( page_get_infimum_rec(page)), - 0, heap); + 0, heap, + btr_page_get_level(page, &mtr)); if (cmp_dtuple_rec(node_ptr_tuple, node_ptr) != 0) { diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index c553bcacf7f..7d80f6d5c64 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -2345,9 +2345,9 @@ btr_cur_pessimistic_delete( heap = mem_heap_create(256); node_ptr = dict_tree_build_node_ptr( - tree, page_rec_get_next(rec), - buf_frame_get_page_no(page), - heap); + tree, page_rec_get_next(rec), + buf_frame_get_page_no(page), + heap, btr_page_get_level(page, mtr)); btr_insert_on_non_leaf_level(tree, btr_page_get_level(page, mtr) + 1, |