diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-14 14:49:20 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-14 14:49:20 +0200 |
commit | ae90f8431ba80383f75810248ddaaa9d2c6fd09f (patch) | |
tree | 8f4e6f29d991188b01db6695c3229f6201cc6121 /storage/innobase/btr | |
parent | c454b8964c10301dceab6d1a5489350a0f8fbf9c (diff) | |
parent | 89ae01fd0085cf0d1af272eca545e49fdadf4538 (diff) | |
download | mariadb-git-ae90f8431ba80383f75810248ddaaa9d2c6fd09f.tar.gz |
Merge 10.4 into 10.5
Diffstat (limited to 'storage/innobase/btr')
-rw-r--r-- | storage/innobase/btr/btr0btr.cc | 18 | ||||
-rw-r--r-- | storage/innobase/btr/btr0bulk.cc | 2 | ||||
-rw-r--r-- | storage/innobase/btr/btr0cur.cc | 30 | ||||
-rw-r--r-- | storage/innobase/btr/btr0defragment.cc | 2 | ||||
-rw-r--r-- | storage/innobase/btr/btr0scrub.cc | 2 |
5 files changed, 27 insertions, 27 deletions
diff --git a/storage/innobase/btr/btr0btr.cc b/storage/innobase/btr/btr0btr.cc index 7b871a2414a..748efed022c 100644 --- a/storage/innobase/btr/btr0btr.cc +++ b/storage/innobase/btr/btr0btr.cc @@ -4805,13 +4805,13 @@ btr_validate_level( ulint parent_right_page_no = FIL_NULL; bool rightmost_child = false; - mtr_start(&mtr); + mtr.start(); if (!srv_read_only_mode) { if (lockout) { - mtr_x_lock(dict_index_get_lock(index), &mtr); + mtr_x_lock_index(index, &mtr); } else { - mtr_sx_lock(dict_index_get_lock(index), &mtr); + mtr_sx_lock_index(index, &mtr); } } @@ -4885,9 +4885,9 @@ loop: offsets = offsets2 = NULL; if (!srv_read_only_mode) { if (lockout) { - mtr_x_lock(dict_index_get_lock(index), &mtr); + mtr_x_lock_index(index, &mtr); } else { - mtr_sx_lock(dict_index_get_lock(index), &mtr); + mtr_sx_lock_index(index, &mtr); } } @@ -5177,13 +5177,13 @@ node_ptr_fails: /* Commit the mini-transaction to release the latch on 'page'. Re-acquire the latch on right_page, which will become 'page' on the next loop. The page has already been checked. */ - mtr_commit(&mtr); + mtr.commit(); if (trx_is_interrupted(trx)) { /* On interrupt, return the current status. */ } else if (right_page_no != FIL_NULL) { - mtr_start(&mtr); + mtr.start(); if (!lockout) { if (rightmost_child) { @@ -5235,9 +5235,9 @@ btr_validate_index( if (!srv_read_only_mode) { if (lockout) { - mtr_x_lock(dict_index_get_lock(index), &mtr); + mtr_x_lock_index(index, &mtr); } else { - mtr_sx_lock(dict_index_get_lock(index), &mtr); + mtr_sx_lock_index(index, &mtr); } } diff --git a/storage/innobase/btr/btr0bulk.cc b/storage/innobase/btr/btr0bulk.cc index 2c36db7cab5..dd691000b79 100644 --- a/storage/innobase/btr/btr0bulk.cc +++ b/storage/innobase/btr/btr0bulk.cc @@ -1012,7 +1012,7 @@ BtrBulk::finish(dberr_t err) mtr.start(); m_index->set_modified(mtr); - mtr_x_lock(&m_index->lock, &mtr); + mtr_x_lock_index(m_index, &mtr); ut_ad(last_page_no != FIL_NULL); last_block = btr_block_get(*m_index, last_page_no, RW_X_LATCH, diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index 9bf88f66889..59f436605fc 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -1398,16 +1398,16 @@ btr_cur_search_to_nth_level_func( if (lock_intention == BTR_INTENTION_DELETE && trx_sys.rseg_history_len > BTR_CUR_FINE_HISTORY_LENGTH && buf_get_n_pending_read_ios()) { - mtr_x_lock(dict_index_get_lock(index), mtr); - } else if (dict_index_is_spatial(index) +x_latch_index: + mtr_x_lock_index(index, mtr); + } else if (index->is_spatial() && lock_intention <= BTR_INTENTION_BOTH) { /* X lock the if there is possibility of pessimistic delete on spatial index. As we could lock upward for the tree */ - - mtr_x_lock(dict_index_get_lock(index), mtr); + goto x_latch_index; } else { - mtr_sx_lock(dict_index_get_lock(index), mtr); + mtr_sx_lock_index(index, mtr); } upper_rw_latch = RW_X_LATCH; break; @@ -1439,10 +1439,10 @@ btr_cur_search_to_nth_level_func( BTR_ALREADY_S_LATCHED */ ut_ad(latch_mode != BTR_SEARCH_TREE); - mtr_s_lock(dict_index_get_lock(index), mtr); + mtr_s_lock_index(index, mtr); } else { /* BTR_MODIFY_EXTERNAL needs to be excluded */ - mtr_sx_lock(dict_index_get_lock(index), mtr); + mtr_sx_lock_index(index, mtr); } upper_rw_latch = RW_S_LATCH; } else { @@ -2526,9 +2526,9 @@ btr_cur_open_at_index_side_func( if (lock_intention == BTR_INTENTION_DELETE && trx_sys.rseg_history_len > BTR_CUR_FINE_HISTORY_LENGTH && buf_get_n_pending_read_ios()) { - mtr_x_lock(dict_index_get_lock(index), mtr); + mtr_x_lock_index(index, mtr); } else { - mtr_sx_lock(dict_index_get_lock(index), mtr); + mtr_sx_lock_index(index, mtr); } upper_rw_latch = RW_X_LATCH; break; @@ -2544,7 +2544,7 @@ btr_cur_open_at_index_side_func( BTR_ALREADY_S_LATCHED */ ut_ad(latch_mode != BTR_SEARCH_TREE); - mtr_s_lock(dict_index_get_lock(index), mtr); + mtr_s_lock_index(index, mtr); } upper_rw_latch = RW_S_LATCH; } else { @@ -2835,7 +2835,7 @@ btr_cur_open_at_rnd_pos_func( ulint* offsets = offsets_; rec_offs_init(offsets_); - ut_ad(!dict_index_is_spatial(index)); + ut_ad(!index->is_spatial()); lock_intention = btr_cur_get_and_clear_intention(&latch_mode); @@ -2853,9 +2853,9 @@ btr_cur_open_at_rnd_pos_func( if (lock_intention == BTR_INTENTION_DELETE && trx_sys.rseg_history_len > BTR_CUR_FINE_HISTORY_LENGTH && buf_get_n_pending_read_ios()) { - mtr_x_lock(dict_index_get_lock(index), mtr); + mtr_x_lock_index(index, mtr); } else { - mtr_sx_lock(dict_index_get_lock(index), mtr); + mtr_sx_lock_index(index, mtr); } upper_rw_latch = RW_X_LATCH; break; @@ -2871,7 +2871,7 @@ btr_cur_open_at_rnd_pos_func( /* fall through */ default: if (!srv_read_only_mode) { - mtr_s_lock(dict_index_get_lock(index), mtr); + mtr_s_lock_index(index, mtr); upper_rw_latch = RW_S_LATCH; } else { upper_rw_latch = RW_NO_LATCH; @@ -5094,7 +5094,7 @@ btr_cur_pessimistic_update( MTR_MEMO_X_LOCK | MTR_MEMO_SX_LOCK)); - mtr_sx_lock(dict_index_get_lock(index), mtr); + mtr_sx_lock_index(index, mtr); } /* Was the record to be updated positioned as the first user diff --git a/storage/innobase/btr/btr0defragment.cc b/storage/innobase/btr/btr0defragment.cc index 15e4e6cd70b..fc34a75d11a 100644 --- a/storage/innobase/btr/btr0defragment.cc +++ b/storage/innobase/btr/btr0defragment.cc @@ -741,7 +741,7 @@ DECLARE_THREAD(btr_defragment_thread)(void*) index->set_modified(mtr); /* To follow the latching order defined in WL#6326, acquire index->lock X-latch. This entitles us to acquire page latches in any order for the index. */ - mtr_x_lock(&index->lock, &mtr); + mtr_x_lock_index(index, &mtr); /* This will acquire index->lock SX-latch, which per WL#6363 is allowed when we are already holding the X-latch. */ btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, &mtr); diff --git a/storage/innobase/btr/btr0scrub.cc b/storage/innobase/btr/btr0scrub.cc index 63c2271c1e3..9fdb942c1a5 100644 --- a/storage/innobase/btr/btr0scrub.cc +++ b/storage/innobase/btr/btr0scrub.cc @@ -738,7 +738,7 @@ btr_scrub_recheck_page( } mtr_start(mtr); - mtr_x_lock(dict_index_get_lock(scrub_data->current_index), mtr); + mtr_x_lock_index(scrub_data->current_index, mtr); /** set savepoint for X-latch of block */ scrub_data->savepoint = mtr_set_savepoint(mtr); return BTR_SCRUB_PAGE; |