diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-02-16 14:10:26 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-02-16 14:10:26 +0200 |
commit | 3887daf8260dc41f7e3f0c3197ed59d644eb2e10 (patch) | |
tree | 351a84753c33335827f21c9746c7ade53de4fe89 /storage/innobase/include | |
parent | 2c34315df6ef30aeed59b9ba55da8868433ff094 (diff) | |
download | mariadb-git-3887daf8260dc41f7e3f0c3197ed59d644eb2e10.tar.gz |
MDEV-12353: Optimize page_cur_delete_rec() logging
page_mem_free(): When deleting the last record of a page,
do not add it to the PAGE_FREE list, but instead truncate the
PAGE_HEAP_TOP. Modify the page header fields by writing fewer
records.
page_cur_delete_rec(): Let page_mem_free() reset the PAGE_LAST_INSERT.
page_header_reset_last_insert(): Issue memset(), not memcpy(), for
the ROW_FORMAT=COMPRESSED page.
Diffstat (limited to 'storage/innobase/include')
-rw-r--r-- | storage/innobase/include/page0page.ic | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/innobase/include/page0page.ic b/storage/innobase/include/page0page.ic index 8604f088adf..16a2db3f4cc 100644 --- a/storage/innobase/include/page0page.ic +++ b/storage/innobase/include/page0page.ic @@ -134,7 +134,7 @@ inline void page_header_reset_last_insert(buf_block_t *block, mtr_t *mtr) byte *b= my_assume_aligned<2>(&block->frame[field]); if (mtr->write<2,mtr_t::OPT>(*block, b, 0U) && UNIV_LIKELY_NULL(block->page.zip.data)) - memcpy_aligned<2>(&block->page.zip.data[field], b, 2); + memset_aligned<2>(&block->page.zip.data[field], 0, 2); } /***************************************************************//** |