Commit 7a48b3df authored by Marko Mäkelä's avatar Marko Mäkelä

Bug#13340047 LATCHING ORDER VIOLATION IN IBUF_SET_ENTRY_COUNTER() - cleanup

Remove btr_cur_t::ibuf_cnt. The only dependence on cursor->ibuf_cnt
was ibuf_set_entry_counter(). That code path was removed in the
original bug fix (marko.makela@oracle.com-20111107072802-dgwagejlpub0rjkd).

rb:819 approved by Jimmy Yang
parent 7ee2962f
...@@ -458,8 +458,6 @@ btr_cur_search_to_nth_level( ...@@ -458,8 +458,6 @@ btr_cur_search_to_nth_level(
cursor->flag = BTR_CUR_BINARY; cursor->flag = BTR_CUR_BINARY;
cursor->index = index; cursor->index = index;
cursor->ibuf_cnt = ULINT_UNDEFINED;
#ifndef BTR_CUR_ADAPT #ifndef BTR_CUR_ADAPT
guess = NULL; guess = NULL;
#else #else
...@@ -747,21 +745,8 @@ btr_cur_search_to_nth_level( ...@@ -747,21 +745,8 @@ btr_cur_search_to_nth_level(
/* We're doing a search on an ibuf tree and we're one /* We're doing a search on an ibuf tree and we're one
level above the leaf page. */ level above the leaf page. */
ulint is_min_rec;
ut_ad(level == 0); ut_ad(level == 0);
is_min_rec = rec_get_info_bits(node_ptr, 0)
& REC_INFO_MIN_REC_FLAG;
if (!is_min_rec) {
cursor->ibuf_cnt
= ibuf_rec_get_counter(node_ptr);
ut_a(cursor->ibuf_cnt <= 0xFFFF
|| cursor->ibuf_cnt == ULINT_UNDEFINED);
}
buf_mode = BUF_GET; buf_mode = BUF_GET;
rw_latch = RW_NO_LATCH; rw_latch = RW_NO_LATCH;
goto retry_page_get; goto retry_page_get;
......
...@@ -743,24 +743,6 @@ struct btr_cur_struct { ...@@ -743,24 +743,6 @@ struct btr_cur_struct {
NULL */ NULL */
ulint fold; /*!< fold value used in the search if ulint fold; /*!< fold value used in the search if
flag is BTR_CUR_HASH */ flag is BTR_CUR_HASH */
/*----- Delete buffering -------*/
ulint ibuf_cnt; /* in searches done on insert buffer
trees, this contains the "counter"
value (the first two bytes of the
fourth field) extracted from the
page above the leaf page, from the
father node pointer that pointed to
the leaf page. in other words, it
contains the minimum counter value
for records to be inserted on the
chosen leaf page. If for some reason
this can't be read, or if the search
ended on the leftmost leaf page in
the tree (in which case the father
node pointer had the 'minimum
record' flag set), this is
ULINT_UNDEFINED. */
/*------------------------------*/
/* @} */ /* @} */
btr_path_t* path_arr; /*!< in estimating the number of btr_path_t* path_arr; /*!< in estimating the number of
rows in range, we store in this array rows in range, we store in this array
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment