Commit 4a012ce2 authored by Marko Mäkelä's avatar Marko Mäkelä

Post-fix for MDEV-12253: Remove redundant log writes

The 8 bytes at FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
will be overwritten at page flush, in buf_page_encrypt_before_write(),
ever since commit 765a4360
(MariaDB 10.1.23, 10.2.6, 10.3.1).

btr_store_big_rec_extern_fields(): Remove useless writes to the
page header (and to the redo log) for ROW_FORMAT=COMPRESSED BLOB pages.
parent 16bce0f6
...@@ -7109,33 +7109,6 @@ btr_store_big_rec_extern_fields( ...@@ -7109,33 +7109,6 @@ btr_store_big_rec_extern_fields(
/* Initialize the unused "prev page" pointer */ /* Initialize the unused "prev page" pointer */
mlog_write_ulint(page + FIL_PAGE_PREV, mlog_write_ulint(page + FIL_PAGE_PREV,
FIL_NULL, MLOG_4BYTES, &mtr); FIL_NULL, MLOG_4BYTES, &mtr);
/* Write a back pointer to the record
into the otherwise unused area. This
information could be useful in
debugging. Later, we might want to
implement the possibility to relocate
BLOB pages. Then, we would need to be
able to adjust the BLOB pointer in the
record. We do not store the heap
number of the record, because it can
change in page_zip_reorganize() or
btr_page_reorganize(). However, also
the page number of the record may
change when B-tree nodes are split or
merged.
NOTE: FIL_PAGE_FILE_FLUSH_LSN space is
used by R-tree index for a Split Sequence
Number */
ut_ad(!dict_index_is_spatial(index));
mlog_write_ulint(page
+ FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
space_id,
MLOG_4BYTES, &mtr);
mlog_write_ulint(page
+ FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION + 4,
rec_page_no,
MLOG_4BYTES, &mtr);
/* Zero out the unused part of the page. */ /* Zero out the unused part of the page. */
memset(page + page_zip_get_size(page_zip) memset(page + page_zip_get_size(page_zip)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment