diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-04-14 12:32:27 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-04-14 12:32:27 +0300 |
commit | d2e2d32933823623fa3598c8e2b8a5a322e435bb (patch) | |
tree | 4a0094ff26be1e985281ef008433ce1493b58ae7 /storage/innobase/btr/btr0defragment.cc | |
parent | 72e0601d11ac40a27ce071cba8626612bc625e3c (diff) | |
parent | 6c3e860cbf36831c118f6ea183acbbeb3c889bed (diff) | |
download | mariadb-git-d2e2d32933823623fa3598c8e2b8a5a322e435bb.tar.gz |
Merge 10.5 into 10.6
Diffstat (limited to 'storage/innobase/btr/btr0defragment.cc')
-rw-r--r-- | storage/innobase/btr/btr0defragment.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/storage/innobase/btr/btr0defragment.cc b/storage/innobase/btr/btr0defragment.cc index 4f23a4f88d3..6bd04253a86 100644 --- a/storage/innobase/btr/btr0defragment.cc +++ b/storage/innobase/btr/btr0defragment.cc @@ -258,12 +258,12 @@ btr_defragment_calc_n_recs_for_size( ulint size = 0; page_cur_t cur; + const ulint n_core = page_is_leaf(page) ? index->n_core_fields : 0; page_cur_set_before_first(block, &cur); page_cur_move_to_next(&cur); while (page_cur_get_rec(&cur) != page_get_supremum_rec(page)) { rec_t* cur_rec = page_cur_get_rec(&cur); - offsets = rec_get_offsets(cur_rec, index, offsets, - page_is_leaf(page), + offsets = rec_get_offsets(cur_rec, index, offsets, n_core, ULINT_UNDEFINED, &heap); ulint rec_size = rec_offs_size(offsets); size += rec_size; @@ -275,6 +275,9 @@ btr_defragment_calc_n_recs_for_size( page_cur_move_to_next(&cur); } *n_recs_size = size; + if (UNIV_LIKELY_NULL(heap)) { + mem_heap_free(heap); + } return n_recs; } |