mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
branches/zip: Introduce UNIV_ZIP_COPY for invoking page_zip_copy_recs()
more often in B-tree operations.
This commit is contained in:
parent
05c33d6d3f
commit
f644f6af5e
2 changed files with 22 additions and 4 deletions
|
@ -1177,7 +1177,11 @@ btr_root_raise_and_insert(
|
||||||
|
|
||||||
/* Copy the records from root to the new page one by one. */
|
/* Copy the records from root to the new page one by one. */
|
||||||
|
|
||||||
if (UNIV_UNLIKELY
|
if (0
|
||||||
|
#ifdef UNIV_ZIP_COPY
|
||||||
|
|| new_page_zip
|
||||||
|
#endif /* UNIV_ZIP_COPY */
|
||||||
|
|| UNIV_UNLIKELY
|
||||||
(!page_copy_rec_list_end(new_block, root_block,
|
(!page_copy_rec_list_end(new_block, root_block,
|
||||||
page_get_infimum_rec(root),
|
page_get_infimum_rec(root),
|
||||||
index, mtr))) {
|
index, mtr))) {
|
||||||
|
@ -1947,7 +1951,11 @@ insert_right:
|
||||||
if (direction == FSP_DOWN) {
|
if (direction == FSP_DOWN) {
|
||||||
/* fputs("Split left\n", stderr); */
|
/* fputs("Split left\n", stderr); */
|
||||||
|
|
||||||
if (UNIV_UNLIKELY
|
if (0
|
||||||
|
#ifdef UNIV_ZIP_COPY
|
||||||
|
|| page_zip
|
||||||
|
#endif /* UNIV_ZIP_COPY */
|
||||||
|
|| UNIV_UNLIKELY
|
||||||
(!page_move_rec_list_start(new_block, block, move_limit,
|
(!page_move_rec_list_start(new_block, block, move_limit,
|
||||||
cursor->index, mtr))) {
|
cursor->index, mtr))) {
|
||||||
/* For some reason, compressing new_page failed,
|
/* For some reason, compressing new_page failed,
|
||||||
|
@ -1986,7 +1994,11 @@ insert_right:
|
||||||
} else {
|
} else {
|
||||||
/* fputs("Split right\n", stderr); */
|
/* fputs("Split right\n", stderr); */
|
||||||
|
|
||||||
if (UNIV_UNLIKELY
|
if (0
|
||||||
|
#ifdef UNIV_ZIP_COPY
|
||||||
|
|| page_zip
|
||||||
|
#endif /* UNIV_ZIP_COPY */
|
||||||
|
|| UNIV_UNLIKELY
|
||||||
(!page_move_rec_list_end(new_block, block, move_limit,
|
(!page_move_rec_list_end(new_block, block, move_limit,
|
||||||
cursor->index, mtr))) {
|
cursor->index, mtr))) {
|
||||||
/* For some reason, compressing new_page failed,
|
/* For some reason, compressing new_page failed,
|
||||||
|
@ -2359,7 +2371,11 @@ btr_lift_page_up(
|
||||||
btr_page_set_level(father_page, father_page_zip, page_level, mtr);
|
btr_page_set_level(father_page, father_page_zip, page_level, mtr);
|
||||||
|
|
||||||
/* Copy the records to the father page one by one. */
|
/* Copy the records to the father page one by one. */
|
||||||
if (UNIV_UNLIKELY
|
if (0
|
||||||
|
#ifdef UNIV_ZIP_COPY
|
||||||
|
|| father_page_zip
|
||||||
|
#endif /* UNIV_ZIP_COPY */
|
||||||
|
|| UNIV_UNLIKELY
|
||||||
(!page_copy_rec_list_end(father_block, block,
|
(!page_copy_rec_list_end(father_block, block,
|
||||||
page_get_infimum_rec(page),
|
page_get_infimum_rec(page),
|
||||||
index, mtr))) {
|
index, mtr))) {
|
||||||
|
|
|
@ -158,6 +158,8 @@ operations (very slow); also UNIV_DEBUG must be defined */
|
||||||
printing B-trees */
|
printing B-trees */
|
||||||
#define UNIV_ZIP_DEBUG /* extensive consistency checks
|
#define UNIV_ZIP_DEBUG /* extensive consistency checks
|
||||||
for compressed pages */
|
for compressed pages */
|
||||||
|
#define UNIV_ZIP_COPY /* call page_zip_copy_recs()
|
||||||
|
more often */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define UNIV_BTR_DEBUG /* check B-tree links */
|
#define UNIV_BTR_DEBUG /* check B-tree links */
|
||||||
|
|
Loading…
Add table
Reference in a new issue