Merge 5.5 into 10.0

This commit is contained in:
Marko Mäkelä 2017-10-02 10:42:55 +03:00
commit de4a00d4f7
2 changed files with 12 additions and 16 deletions

View File

@ -3340,7 +3340,6 @@ btr_cur_pessimistic_delete(
ulint n_reserved = 0; ulint n_reserved = 0;
ibool success; ibool success;
ibool ret = FALSE; ibool ret = FALSE;
ulint level;
mem_heap_t* heap; mem_heap_t* heap;
ulint* offsets; ulint* offsets;
@ -3391,6 +3390,10 @@ btr_cur_pessimistic_delete(
#endif /* UNIV_ZIP_DEBUG */ #endif /* UNIV_ZIP_DEBUG */
} }
if (flags == 0) {
lock_update_delete(block, rec);
}
if (UNIV_UNLIKELY(page_get_n_recs(page) < 2) if (UNIV_UNLIKELY(page_get_n_recs(page) < 2)
&& UNIV_UNLIKELY(dict_index_get_page(index) && UNIV_UNLIKELY(dict_index_get_page(index)
!= buf_block_get_page_no(block))) { != buf_block_get_page_no(block))) {
@ -3405,13 +3408,7 @@ btr_cur_pessimistic_delete(
goto return_after_reservations; goto return_after_reservations;
} }
if (flags == 0) { if (!page_is_leaf(page)
lock_update_delete(block, rec);
}
level = btr_page_get_level(page, mtr);
if (level > 0
&& UNIV_UNLIKELY(rec == page_rec_get_next( && UNIV_UNLIKELY(rec == page_rec_get_next(
page_get_infimum_rec(page)))) { page_get_infimum_rec(page)))) {
@ -3434,6 +3431,7 @@ btr_cur_pessimistic_delete(
on a page, we have to change the father node pointer on a page, we have to change the father node pointer
so that it is equal to the new leftmost node pointer so that it is equal to the new leftmost node pointer
on the page */ on the page */
ulint level = btr_page_get_level(page, mtr);
btr_node_ptr_delete(index, block, mtr); btr_node_ptr_delete(index, block, mtr);

View File

@ -3537,7 +3537,6 @@ btr_cur_pessimistic_delete(
ulint n_reserved = 0; ulint n_reserved = 0;
ibool success; ibool success;
ibool ret = FALSE; ibool ret = FALSE;
ulint level;
mem_heap_t* heap; mem_heap_t* heap;
ulint* offsets; ulint* offsets;
@ -3590,6 +3589,10 @@ btr_cur_pessimistic_delete(
#endif /* UNIV_ZIP_DEBUG */ #endif /* UNIV_ZIP_DEBUG */
} }
if (flags == 0) {
lock_update_delete(block, rec);
}
if (UNIV_UNLIKELY(page_get_n_recs(page) < 2) if (UNIV_UNLIKELY(page_get_n_recs(page) < 2)
&& UNIV_UNLIKELY(dict_index_get_page(index) && UNIV_UNLIKELY(dict_index_get_page(index)
!= buf_block_get_page_no(block))) { != buf_block_get_page_no(block))) {
@ -3604,13 +3607,7 @@ btr_cur_pessimistic_delete(
goto return_after_reservations; goto return_after_reservations;
} }
if (flags == 0) { if (!page_is_leaf(page)
lock_update_delete(block, rec);
}
level = btr_page_get_level(page, mtr);
if (level > 0
&& UNIV_UNLIKELY(rec == page_rec_get_next( && UNIV_UNLIKELY(rec == page_rec_get_next(
page_get_infimum_rec(page)))) { page_get_infimum_rec(page)))) {
@ -3633,6 +3630,7 @@ btr_cur_pessimistic_delete(
on a page, we have to change the father node pointer on a page, we have to change the father node pointer
so that it is equal to the new leftmost node pointer so that it is equal to the new leftmost node pointer
on the page */ on the page */
ulint level = btr_page_get_level(page, mtr);
btr_node_ptr_delete(index, block, mtr); btr_node_ptr_delete(index, block, mtr);