Skip to content

Commit 0870b75

Browse files
committed
MDEV-22126 Rename confusing constant mtr_t::OPT
The template parameter mtr_t::OPT refers to optional, not optimized. Also the default parameter mtr_t::NORMAL refers to optimized writes. The name MAYBE_NOP would be more descriptive, conveying the idea that a write to a durable page might not actually have any effect.
1 parent 406ca20 commit 0870b75

23 files changed

+156
-142
lines changed

storage/innobase/btr/btr0btr.cc

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -460,10 +460,11 @@ btr_page_create(
460460
mtr->memset(block, FIL_RTREE_SPLIT_SEQ_NUM, 8, 0);
461461
}
462462
/* Set the level of the new index page */
463-
mtr->write<2,mtr_t::OPT>(*block,
464-
my_assume_aligned<2>(PAGE_HEADER + PAGE_LEVEL +
465-
block->frame), level);
466-
mtr->write<8,mtr_t::OPT>(*block, index_id, index->id);
463+
mtr->write<2,mtr_t::MAYBE_NOP>(*block,
464+
my_assume_aligned<2>(PAGE_HEADER +
465+
PAGE_LEVEL +
466+
block->frame), level);
467+
mtr->write<8,mtr_t::MAYBE_NOP>(*block, index_id, index->id);
467468
}
468469
}
469470

@@ -979,7 +980,8 @@ static void btr_free_root(buf_block_t *block, mtr_t *mtr, bool invalidate)
979980
constexpr uint16_t field= PAGE_HEADER + PAGE_INDEX_ID;
980981

981982
byte *page_index_id= my_assume_aligned<2>(field + block->frame);
982-
if (mtr->write<8,mtr_t::OPT>(*block, page_index_id, BTR_FREED_INDEX_ID) &&
983+
if (mtr->write<8,mtr_t::MAYBE_NOP>(*block, page_index_id,
984+
BTR_FREED_INDEX_ID) &&
983985
UNIV_LIKELY_NULL(block->page.zip.data))
984986
memcpy_aligned<2>(&block->page.zip.data[field], page_index_id, 8);
985987
}
@@ -1137,9 +1139,10 @@ btr_create(
11371139
}
11381140
}
11391141
/* Set the level of the new index page */
1140-
mtr->write<2,mtr_t::OPT>(*block, PAGE_HEADER + PAGE_LEVEL
1141-
+ block->frame, 0U);
1142-
mtr->write<8,mtr_t::OPT>(*block, page_index_id, index_id);
1142+
mtr->write<2,mtr_t::MAYBE_NOP>(*block, PAGE_HEADER + PAGE_LEVEL
1143+
+ block->frame, 0U);
1144+
mtr->write<8,mtr_t::MAYBE_NOP>(*block, page_index_id,
1145+
index_id);
11431146
}
11441147

11451148
/* We reset the free bits for the page in a separate
@@ -1724,8 +1727,8 @@ btr_page_empty(
17241727
8, 0);
17251728
}
17261729
}
1727-
mtr->write<2,mtr_t::OPT>(*block, PAGE_HEADER + PAGE_LEVEL
1728-
+ block->frame, level);
1730+
mtr->write<2,mtr_t::MAYBE_NOP>(*block, PAGE_HEADER + PAGE_LEVEL
1731+
+ block->frame, level);
17291732
if (autoinc) {
17301733
mtr->write<8>(*block, PAGE_HEADER + PAGE_MAX_TRX_ID
17311734
+ block->frame, autoinc);
@@ -1786,8 +1789,8 @@ void btr_set_instant(buf_block_t* root, const dict_index_t& index, mtr_t* mtr)
17861789
if (index.table->instant) {
17871790
mtr->memset(root, infimum - root->frame, 8, 0);
17881791
mtr->memset(root, supremum - root->frame, 7, 0);
1789-
mtr->write<1,mtr_t::OPT>(*root, &supremum[7],
1790-
index.n_core_null_bytes);
1792+
mtr->write<1,mtr_t::MAYBE_NOP>(*root, &supremum[7],
1793+
index.n_core_null_bytes);
17911794
}
17921795
}
17931796

@@ -1807,10 +1810,10 @@ void btr_reset_instant(const dict_index_t &index, bool all, mtr_t *mtr)
18071810
{
18081811
ut_ad(mach_read_from_2(page_type) == FIL_PAGE_TYPE_INSTANT ||
18091812
mach_read_from_2(page_type) == FIL_PAGE_INDEX);
1810-
mtr->write<2,mtr_t::OPT>(*root, page_type, FIL_PAGE_INDEX);
1813+
mtr->write<2,mtr_t::MAYBE_NOP>(*root, page_type, FIL_PAGE_INDEX);
18111814
byte *instant= PAGE_INSTANT + PAGE_HEADER + root->frame;
1812-
mtr->write<2,mtr_t::OPT>(*root, instant,
1813-
page_ptr_get_direction(instant + 1));
1815+
mtr->write<2,mtr_t::MAYBE_NOP>(*root, instant,
1816+
page_ptr_get_direction(instant + 1));
18141817
}
18151818
else
18161819
ut_ad(mach_read_from_2(page_type) == FIL_PAGE_TYPE_INSTANT);
@@ -1828,9 +1831,10 @@ void btr_reset_instant(const dict_index_t &index, bool all, mtr_t *mtr)
18281831
}
18291832
ut_ad(!memcmp(&root->frame[infimum], supremuminfimum + 8, 8) ==
18301833
!memcmp(&root->frame[supremum], supremuminfimum, 8));
1831-
mtr->memcpy<mtr_t::OPT>(*root, &root->frame[infimum], supremuminfimum + 8,
1832-
8);
1833-
mtr->memcpy<mtr_t::OPT>(*root, &root->frame[supremum], supremuminfimum, 8);
1834+
mtr->memcpy<mtr_t::MAYBE_NOP>(*root, &root->frame[infimum],
1835+
supremuminfimum + 8, 8);
1836+
mtr->memcpy<mtr_t::MAYBE_NOP>(*root, &root->frame[supremum],
1837+
supremuminfimum, 8);
18341838
}
18351839
}
18361840

storage/innobase/btr/btr0bulk.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ PageBulk::init()
9797
page_create(new_block, &m_mtr,
9898
m_index->table->not_redundant());
9999
m_mtr.memset(*new_block, FIL_PAGE_PREV, 8, 0xff);
100-
m_mtr.write<2,mtr_t::OPT>(*new_block,
101-
PAGE_HEADER + PAGE_LEVEL
102-
+ new_page, m_level);
100+
m_mtr.write<2,mtr_t::MAYBE_NOP>(*new_block, PAGE_HEADER
101+
+ PAGE_LEVEL
102+
+ new_page, m_level);
103103
m_mtr.write<8>(*new_block, index_id, m_index->id);
104104
}
105105
} else {

storage/innobase/btr/btr0cur.cc

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3985,7 +3985,7 @@ static void btr_cur_upd_rec_sys(buf_block_t *block, rec_t *rec,
39853985
}
39863986

39873987
if (UNIV_LIKELY(len)) /* extra safety, to avoid corrupting the log */
3988-
mtr->memcpy<mtr_t::OPT>(*block, dest, sys + d, len);
3988+
mtr->memcpy<mtr_t::MAYBE_NOP>(*block, dest, sys + d, len);
39893989
}
39903990

39913991
/*************************************************************//**
@@ -4128,9 +4128,10 @@ void btr_cur_upd_rec_in_place(rec_t *rec, const dict_index_t *index,
41284128
? -REC_NEW_INFO_BITS
41294129
: -REC_OLD_INFO_BITS];
41304130

4131-
mtr->write<1,mtr_t::OPT>(*block, info_bits,
4132-
(*info_bits & ~REC_INFO_BITS_MASK)
4133-
| update->info_bits);
4131+
mtr->write<1,mtr_t::MAYBE_NOP>(*block, info_bits,
4132+
(*info_bits
4133+
& ~REC_INFO_BITS_MASK)
4134+
| update->info_bits);
41344135
}
41354136

41364137
for (ulint i = 0; i < update->n_fields; i++) {
@@ -4192,8 +4193,8 @@ void btr_cur_upd_rec_in_place(rec_t *rec, const dict_index_t *index,
41924193
}
41934194

41944195
if (len) {
4195-
mtr->memcpy<mtr_t::OPT>(*block, data, uf->new_val.data,
4196-
len);
4196+
mtr->memcpy<mtr_t::MAYBE_NOP>(*block, data,
4197+
uf->new_val.data, len);
41974198
}
41984199
}
41994200

@@ -5307,7 +5308,7 @@ void btr_rec_set_deleted(buf_block_t *block, rec_t *rec, mtr_t *mtr)
53075308
const byte v = flag
53085309
? (*b | REC_INFO_DELETED_FLAG)
53095310
: (*b & byte(~REC_INFO_DELETED_FLAG));
5310-
mtr->write<1,mtr_t::OPT>(*block, b, v);
5311+
mtr->write<1,mtr_t::MAYBE_NOP>(*block, b, v);
53115312
}
53125313
}
53135314

@@ -6958,9 +6959,8 @@ btr_cur_set_ownership_of_extern_field(
69586959
mach_write_to_1(data + local_len + BTR_EXTERN_LEN, byte_val);
69596960
page_zip_write_blob_ptr(block, rec, index, offsets, i, mtr);
69606961
} else {
6961-
mtr->write<1,mtr_t::OPT>(*block,
6962-
data + local_len + BTR_EXTERN_LEN,
6963-
byte_val);
6962+
mtr->write<1,mtr_t::MAYBE_NOP>(*block, data + local_len
6963+
+ BTR_EXTERN_LEN, byte_val);
69646964
}
69656965
}
69666966

@@ -7488,7 +7488,7 @@ btr_store_big_rec_extern_fields(
74887488
store_len = extern_len;
74897489
}
74907490

7491-
mtr.memcpy<mtr_t::OPT>(
7491+
mtr.memcpy<mtr_t::MAYBE_NOP>(
74927492
*block,
74937493
FIL_PAGE_DATA + BTR_BLOB_HDR_SIZE
74947494
+ block->frame,
@@ -7514,7 +7514,7 @@ btr_store_big_rec_extern_fields(
75147514

75157515
if (prev_page_no == FIL_NULL) {
75167516
ut_ad(blob_npages == 0);
7517-
mtr.write<4,mtr_t::OPT>(
7517+
mtr.write<4,mtr_t::MAYBE_NOP>(
75187518
*rec_block,
75197519
field_ref + BTR_EXTERN_SPACE_ID,
75207520
space_id);
@@ -7748,9 +7748,10 @@ btr_free_externally_stored_field(
77487748
mtr.write<4>(*block,
77497749
BTR_EXTERN_PAGE_NO + field_ref,
77507750
next_page_no);
7751-
mtr.write<4,mtr_t::OPT>(*block,
7752-
BTR_EXTERN_LEN + 4
7753-
+ field_ref, 0U);
7751+
mtr.write<4,mtr_t::MAYBE_NOP>(*block,
7752+
BTR_EXTERN_LEN
7753+
+ 4 + field_ref,
7754+
0U);
77547755
}
77557756
} else {
77567757
ut_ad(!block->page.zip.data);
@@ -7768,9 +7769,9 @@ btr_free_externally_stored_field(
77687769
trx_rollback_all_recovered() could
77697770
dereference the half-deleted BLOB, fetching a
77707771
wrong prefix for the BLOB. */
7771-
mtr.write<4,mtr_t::OPT>(*block,
7772-
BTR_EXTERN_LEN + 4 + field_ref,
7773-
0U);
7772+
mtr.write<4,mtr_t::MAYBE_NOP>(*block,
7773+
BTR_EXTERN_LEN + 4
7774+
+ field_ref, 0U);
77747775
}
77757776

77767777
/* Commit mtr and release the BLOB block to save memory. */

storage/innobase/dict/dict0crea.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*****************************************************************************
22
33
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
4-
Copyright (c) 2017, 2019, MariaDB Corporation.
4+
Copyright (c) 2017, 2020, MariaDB Corporation.
55
66
This program is free software; you can redistribute it and/or modify it under
77
the terms of the GNU General Public License as published by the Free Software
@@ -377,11 +377,11 @@ dict_build_table_def_step(
377377
page_id_t(trx->rsegs.m_redo.rseg->space->id,
378378
undo->hdr_page_no),
379379
&mtr);
380-
mtr.write<1,mtr_t::OPT>(
380+
mtr.write<1,mtr_t::MAYBE_NOP>(
381381
*block,
382382
block->frame + undo->hdr_offset
383383
+ TRX_UNDO_DICT_TRANS, 1U);
384-
mtr.write<8,mtr_t::OPT>(
384+
mtr.write<8,mtr_t::MAYBE_NOP>(
385385
*block,
386386
block->frame + undo->hdr_offset
387387
+ TRX_UNDO_TABLE_ID, trx->table_id);
@@ -858,8 +858,8 @@ dict_create_index_tree_step(
858858
DICT_FLD__SYS_INDEXES__PAGE_NO,
859859
&len);
860860
ut_ad(len == 4);
861-
mtr.write<4,mtr_t::OPT>(*btr_pcur_get_block(&pcur), data,
862-
node->page_no);
861+
mtr.write<4,mtr_t::MAYBE_NOP>(*btr_pcur_get_block(&pcur), data,
862+
node->page_no);
863863

864864
mtr.commit();
865865

storage/innobase/dict/dict0dict.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4315,8 +4315,8 @@ dict_index_set_merge_threshold(
43154315
DICT_FLD__SYS_INDEXES__MERGE_THRESHOLD, &len);
43164316

43174317
ut_ad(len == 4);
4318-
mtr.write<4,mtr_t::OPT>(*btr_cur_get_block(&cursor), field,
4319-
merge_threshold);
4318+
mtr.write<4,mtr_t::MAYBE_NOP>(*btr_cur_get_block(&cursor),
4319+
field, merge_threshold);
43204320
}
43214321

43224322
mtr_commit(&mtr);

storage/innobase/fil/fil0crypt.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ void fil_space_crypt_t::write_page0(buf_block_t* block, mtr_t* mtr)
409409
+ fsp_header_get_encryption_offset(block->zip_size());
410410
byte* b = block->frame + offset;
411411

412-
mtr->memcpy<mtr_t::OPT>(*block, b, CRYPT_MAGIC, MAGIC_SZ);
412+
mtr->memcpy<mtr_t::MAYBE_NOP>(*block, b, CRYPT_MAGIC, MAGIC_SZ);
413413

414414
b += MAGIC_SZ;
415415
byte* const start = b;

storage/innobase/fsp/fsp0fsp.cc

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -572,8 +572,8 @@ void fsp_header_init(fil_space_t* space, ulint size, mtr_t* mtr)
572572
mtr->write<2>(*block, block->frame + FIL_PAGE_TYPE,
573573
FIL_PAGE_TYPE_FSP_HDR);
574574

575-
mtr->write<4,mtr_t::OPT>(*block, FSP_HEADER_OFFSET + FSP_SPACE_ID
576-
+ block->frame, space->id);
575+
mtr->write<4,mtr_t::MAYBE_NOP>(*block, FSP_HEADER_OFFSET + FSP_SPACE_ID
576+
+ block->frame, space->id);
577577
ut_ad(0 == mach_read_from_4(FSP_HEADER_OFFSET + FSP_NOT_USED
578578
+ block->frame));
579579
/* recv_sys_t::parse() expects to find a WRITE record that
@@ -584,9 +584,10 @@ void fsp_header_init(fil_space_t* space, ulint size, mtr_t* mtr)
584584
+ block->frame, size);
585585
ut_ad(0 == mach_read_from_4(FSP_HEADER_OFFSET + FSP_FREE_LIMIT
586586
+ block->frame));
587-
mtr->write<4,mtr_t::OPT>(*block, FSP_HEADER_OFFSET + FSP_SPACE_FLAGS
588-
+ block->frame,
589-
space->flags & ~FSP_FLAGS_MEM_MASK);
587+
mtr->write<4,mtr_t::MAYBE_NOP>(*block,
588+
FSP_HEADER_OFFSET + FSP_SPACE_FLAGS
589+
+ block->frame,
590+
space->flags & ~FSP_FLAGS_MEM_MASK);
590591
ut_ad(0 == mach_read_from_4(FSP_HEADER_OFFSET + FSP_FRAG_N_USED
591592
+ block->frame));
592593

@@ -1794,8 +1795,8 @@ fseg_create(
17941795
mtr->write<4>(*block, byte_offset + FSEG_HDR_PAGE_NO
17951796
+ block->frame, iblock->page.id.page_no());
17961797

1797-
mtr->write<4,mtr_t::OPT>(*block, byte_offset + FSEG_HDR_SPACE
1798-
+ block->frame, space->id);
1798+
mtr->write<4,mtr_t::MAYBE_NOP>(*block, byte_offset + FSEG_HDR_SPACE
1799+
+ block->frame, space->id);
17991800

18001801
funct_exit:
18011802
if (!has_done_reservation) {
@@ -1971,7 +1972,8 @@ fseg_alloc_free_extent(
19711972
seg_id = mach_read_from_8(inode + FSEG_ID);
19721973

19731974
xdes_set_state(**xdes, descr, XDES_FSEG, mtr);
1974-
mtr->write<8,mtr_t::OPT>(**xdes, descr + XDES_ID, seg_id);
1975+
mtr->write<8,mtr_t::MAYBE_NOP>(**xdes, descr + XDES_ID,
1976+
seg_id);
19751977
flst_add_last(iblock,
19761978
static_cast<uint16_t>(inode - iblock->frame
19771979
+ FSEG_FREE), *xdes,
@@ -2081,7 +2083,8 @@ fseg_alloc_free_page_low(
20812083
ut_a(ret_descr == descr);
20822084

20832085
xdes_set_state(*xdes, ret_descr, XDES_FSEG, mtr);
2084-
mtr->write<8,mtr_t::OPT>(*xdes, ret_descr + XDES_ID, seg_id);
2086+
mtr->write<8,mtr_t::MAYBE_NOP>(*xdes, ret_descr + XDES_ID,
2087+
seg_id);
20852088
flst_add_last(iblock,
20862089
static_cast<uint16_t>(seg_inode - iblock->frame
20872090
+ FSEG_FREE), xdes,

storage/innobase/fut/fut0lst.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ static void flst_zero_both(const buf_block_t& b, byte *addr, mtr_t *mtr)
7575
{
7676
if (mach_read_from_4(addr + FIL_ADDR_PAGE) != FIL_NULL)
7777
mtr->memset(&b, ulint(addr - b.frame) + FIL_ADDR_PAGE, 4, 0xff);
78-
mtr->write<2,mtr_t::OPT>(b, addr + FIL_ADDR_BYTE, 0U);
78+
mtr->write<2,mtr_t::MAYBE_NOP>(b, addr + FIL_ADDR_BYTE, 0U);
7979
/* Initialize the other address by (MEMMOVE|0x80,offset,FIL_ADDR_SIZE,source)
8080
which is 4 bytes, or less than FIL_ADDR_SIZE. */
8181
memcpy(addr + FIL_ADDR_SIZE, addr, FIL_ADDR_SIZE);
@@ -230,7 +230,7 @@ void flst_init(const buf_block_t& block, byte *base, mtr_t *mtr)
230230
{
231231
ut_ad(mtr->memo_contains_page_flagged(base, MTR_MEMO_PAGE_X_FIX |
232232
MTR_MEMO_PAGE_SX_FIX));
233-
mtr->write<4,mtr_t::OPT>(block, base + FLST_LEN, 0U);
233+
mtr->write<4,mtr_t::MAYBE_NOP>(block, base + FLST_LEN, 0U);
234234
static_assert(FLST_LAST == FLST_FIRST + FIL_ADDR_SIZE, "compatibility");
235235
flst_zero_both(block, base + FLST_FIRST, mtr);
236236
}

storage/innobase/gis/gis0rtree.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,9 @@ rtr_update_mbr_field(
300300
memcpy(rec, node_ptr->fields[0].data, DATA_MBR_LEN);
301301
page_zip_write_rec(block, rec, index, offsets, 0, mtr);
302302
} else {
303-
mtr->memcpy<mtr_t::OPT>(*block, rec,
304-
node_ptr->fields[0].data,
305-
DATA_MBR_LEN);
303+
mtr->memcpy<mtr_t::MAYBE_NOP>(*block, rec,
304+
node_ptr->fields[0].data,
305+
DATA_MBR_LEN);
306306
}
307307

308308
if (cursor2) {

storage/innobase/handler/handler0alter.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10220,7 +10220,7 @@ commit_cache_norebuild(
1022010220
space->zip_size(),
1022110221
RW_X_LATCH, &mtr)) {
1022210222
mtr.set_named_space(space);
10223-
mtr.write<4,mtr_t::OPT>(
10223+
mtr.write<4,mtr_t::MAYBE_NOP>(
1022410224
*b,
1022510225
FSP_HEADER_OFFSET
1022610226
+ FSP_SPACE_FLAGS + b->frame,

0 commit comments

Comments
 (0)