mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
Merge 10.3 into 10.4
This commit is contained in:
commit
46957a6a77
144 changed files with 2473 additions and 605 deletions
|
|
@ -5744,7 +5744,6 @@ btr_cur_optimistic_delete_func(
|
|||
mem_heap_t* heap = NULL;
|
||||
rec_offs offsets_[REC_OFFS_NORMAL_SIZE];
|
||||
rec_offs* offsets = offsets_;
|
||||
ibool no_compress_needed;
|
||||
rec_offs_init(offsets_);
|
||||
|
||||
ut_ad(flags == 0 || flags == BTR_CREATE_FLAG);
|
||||
|
|
@ -5765,6 +5764,20 @@ btr_cur_optimistic_delete_func(
|
|||
|
||||
rec = btr_cur_get_rec(cursor);
|
||||
|
||||
offsets = rec_get_offsets(rec, cursor->index, offsets, true,
|
||||
ULINT_UNDEFINED, &heap);
|
||||
|
||||
const ibool no_compress_needed = !rec_offs_any_extern(offsets)
|
||||
&& btr_cur_can_delete_without_compress(
|
||||
cursor, rec_offs_size(offsets), mtr);
|
||||
|
||||
if (!no_compress_needed) {
|
||||
/* prefetch siblings of the leaf for the pessimistic
|
||||
operation. */
|
||||
btr_cur_prefetch_siblings(block);
|
||||
goto func_exit;
|
||||
}
|
||||
|
||||
if (UNIV_UNLIKELY(block->page.id.page_no() == cursor->index->page
|
||||
&& page_get_n_recs(block->frame) == 1
|
||||
+ (cursor->index->is_instant()
|
||||
|
|
@ -5801,19 +5814,11 @@ btr_cur_optimistic_delete_func(
|
|||
}
|
||||
page_cur_set_after_last(block,
|
||||
btr_cur_get_page_cur(cursor));
|
||||
return true;
|
||||
goto func_exit;
|
||||
}
|
||||
}
|
||||
|
||||
offsets = rec_get_offsets(rec, cursor->index, offsets, true,
|
||||
ULINT_UNDEFINED, &heap);
|
||||
|
||||
no_compress_needed = !rec_offs_any_extern(offsets)
|
||||
&& btr_cur_can_delete_without_compress(
|
||||
cursor, rec_offs_size(offsets), mtr);
|
||||
|
||||
if (no_compress_needed) {
|
||||
|
||||
{
|
||||
page_t* page = buf_block_get_frame(block);
|
||||
page_zip_des_t* page_zip= buf_block_get_page_zip(block);
|
||||
|
||||
|
|
@ -5873,10 +5878,6 @@ btr_cur_optimistic_delete_func(
|
|||
ibuf_update_free_bits_low(block, max_ins, mtr);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* prefetch siblings of the leaf for the pessimistic
|
||||
operation. */
|
||||
btr_cur_prefetch_siblings(block);
|
||||
}
|
||||
|
||||
func_exit:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue