diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-03 10:29:50 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-03 11:05:19 +0200 |
commit | af5947f433e98d0447960da07856eb207dd09e01 (patch) | |
tree | fbb21b374bf87d1462e5f7c22f0a35d795d31f95 /storage/innobase/row/row0purge.cc | |
parent | 87839258f86196dfca1d3af2a947e570e13eeb94 (diff) | |
download | mariadb-git-af5947f433e98d0447960da07856eb207dd09e01.tar.gz |
MDEV-21174: Replace mlog_write_string() with mtr_t::memcpy()
mtr_t::memcpy(): Replaces mlog_write_string(), mlog_log_string().
The buf_block_t is passed a parameter, so that
mlog_write_initial_log_record_low() can be used instead of
mlog_write_initial_log_record_fast().
fil_space_crypt_t::write_page0(): Remove the fil_space_t* parameter.
Diffstat (limited to 'storage/innobase/row/row0purge.cc')
-rw-r--r-- | storage/innobase/row/row0purge.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc index 9636ba325dc..3361439bf6e 100644 --- a/storage/innobase/row/row0purge.cc +++ b/storage/innobase/row/row0purge.cc @@ -838,8 +838,15 @@ static void row_purge_reset_trx_id(purge_node_t* node, mtr_t* mtr) byte* ptr = rec_get_nth_field( rec, offsets, trx_id_pos, &len); ut_ad(len == DATA_TRX_ID_LEN); - mlog_write_string(ptr, reset_trx_id, - sizeof reset_trx_id, mtr); + buf_block_t* block = btr_pcur_get_block( + &node->pcur); + uint16_t offs = page_offset(ptr); + mtr->memset(block, offs, DATA_TRX_ID_LEN, 0); + offs += DATA_TRX_ID_LEN; + mtr->write<1,mtr_t::OPT>(*block, block->frame + + offs, 0x80U); + mtr->memset(block, offs + 1, + DATA_ROLL_PTR_LEN - 1, 0); } } } |