summaryrefslogtreecommitdiff
path: root/storage/innobase/include/mtr0mtr.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-12-03 10:26:53 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-12-03 11:05:19 +0200
commit87839258f86196dfca1d3af2a947e570e13eeb94 (patch)
treeb95752bbe5fe7890f8c291379e7007141e749420 /storage/innobase/include/mtr0mtr.h
parentcaea64df18a4f436edbad09996784506721aab43 (diff)
downloadmariadb-git-87839258f86196dfca1d3af2a947e570e13eeb94.tar.gz
MDEV-21174: Replace mlog_memset() with mtr_t::memset()
Passing buf_block_t helps us avoid calling mlog_write_initial_log_record_fast() and page_get_page_no(), and allows us to implement more debug checks, such as that on ROW_FORMAT=COMPRESSED index pages, only the page header may be modified by MLOG_MEMSET records. fseg_n_reserved_pages(): Add a buf_block_t parameter.
Diffstat (limited to 'storage/innobase/include/mtr0mtr.h')
-rw-r--r--storage/innobase/include/mtr0mtr.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/storage/innobase/include/mtr0mtr.h b/storage/innobase/include/mtr0mtr.h
index f7df66f0ea4..d64cfc36b1a 100644
--- a/storage/innobase/include/mtr0mtr.h
+++ b/storage/innobase/include/mtr0mtr.h
@@ -447,6 +447,13 @@ struct mtr_t {
inline void write(const buf_block_t &block, byte *ptr, V val)
MY_ATTRIBUTE((nonnull));
+ /** Initialize a string of bytes.
+ @param[in,out] b buffer page
+ @param[in] ofs byte offset from b->frame
+ @param[in] len length of the data to write
+ @param[in] val the data byte to write */
+ void memset(const buf_block_t* b, ulint ofs, ulint len, byte val);
+
private:
/**
Write a log record for writing 1, 2, or 4 bytes.