summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-11-08 08:59:59 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-11-08 09:00:10 +0200
commit8a5eb4141b2ca9b8cc4e6510f4eba8f5ff9eb7dd (patch)
tree5b4cbe5ea684bd2ca93abd41df4ad31be6637a71
parentc24ec3cece6d8bf70dac7519b6fd397c464f7a82 (diff)
downloadmariadb-git-8a5eb4141b2ca9b8cc4e6510f4eba8f5ff9eb7dd.tar.gz
MDEV-17138 follow-up: Use MLOG_MEMSET for writing FIL_NULL
Always use the MLOG_MEMSET record for writing FIL_NULL, because it is more compact.
-rw-r--r--storage/innobase/btr/btr0bulk.cc10
-rw-r--r--storage/innobase/btr/btr0cur.cc11
-rw-r--r--storage/innobase/dict/dict0crea.cc11
3 files changed, 16 insertions, 16 deletions
diff --git a/storage/innobase/btr/btr0bulk.cc b/storage/innobase/btr/btr0bulk.cc
index dd53a94cc6c..e783bbab4fe 100644
--- a/storage/innobase/btr/btr0bulk.cc
+++ b/storage/innobase/btr/btr0bulk.cc
@@ -107,12 +107,12 @@ PageBulk::init()
} else {
ut_ad(!dict_index_is_spatial(m_index));
page_create(new_block, &m_mtr,
- dict_table_is_comp(m_index->table),
+ m_index->table->not_redundant(),
false);
- mlog_write_ulint(FIL_PAGE_PREV + new_page, FIL_NULL,
- MLOG_4BYTES, &m_mtr);
- mlog_write_ulint(FIL_PAGE_NEXT + new_page, FIL_NULL,
- MLOG_4BYTES, &m_mtr);
+ compile_time_assert(FIL_PAGE_NEXT
+ == FIL_PAGE_PREV + 4);
+ compile_time_assert(FIL_NULL == 0xffffffff);
+ mlog_memset(new_block, FIL_PAGE_PREV, 8, 0xff, &m_mtr);
mlog_write_ulint(PAGE_HEADER + PAGE_LEVEL + new_page,
m_level, MLOG_2BYTES, &m_mtr);
mlog_write_ull(PAGE_HEADER + PAGE_INDEX_ID + new_page,
diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc
index ae5f748f30f..2492988eaef 100644
--- a/storage/innobase/btr/btr0cur.cc
+++ b/storage/innobase/btr/btr0cur.cc
@@ -7776,12 +7776,11 @@ btr_store_big_rec_extern_fields(
ut_a(err == Z_STREAM_END
|| c_stream.avail_out == 0);
- /* Write the "next BLOB page" pointer */
- mlog_write_ulint(page + FIL_PAGE_NEXT,
- FIL_NULL, MLOG_4BYTES, &mtr);
- /* Initialize the unused "prev page" pointer */
- mlog_write_ulint(page + FIL_PAGE_PREV,
- FIL_NULL, MLOG_4BYTES, &mtr);
+ compile_time_assert(FIL_PAGE_NEXT
+ == FIL_PAGE_PREV + 4);
+ compile_time_assert(FIL_NULL == 0xffffffff);
+ mlog_memset(block, FIL_PAGE_PREV, 8, 0xff,
+ &mtr);
/* Write a back pointer to the record
into the otherwise unused area. This
information could be useful in
diff --git a/storage/innobase/dict/dict0crea.cc b/storage/innobase/dict/dict0crea.cc
index 539bbdc205c..c142dd382a7 100644
--- a/storage/innobase/dict/dict0crea.cc
+++ b/storage/innobase/dict/dict0crea.cc
@@ -906,10 +906,10 @@ dict_drop_index_tree(
btr_pcur_t* pcur,
mtr_t* mtr)
{
- const byte* ptr;
- ulint len;
- ulint space;
- ulint root_page_no;
+ byte* ptr;
+ ulint len;
+ ulint space;
+ ulint root_page_no;
ut_ad(mutex_own(&dict_sys.mutex));
ut_a(!dict_table_is_comp(dict_sys.sys_indexes));
@@ -928,7 +928,8 @@ dict_drop_index_tree(
return(false);
}
- mlog_write_ulint(const_cast<byte*>(ptr), FIL_NULL, MLOG_4BYTES, mtr);
+ compile_time_assert(FIL_NULL == 0xffffffff);
+ mlog_memset(ptr, 4, 0xff, mtr);
ptr = rec_get_nth_field_old(
rec, DICT_FLD__SYS_INDEXES__SPACE, &len);