Skip to content

Commit 92d6bd7

Browse files
dr-mmidenok
authored andcommitted
Minor InnoDB cleanup (follow-up to #337)
1 parent 5bf14f9 commit 92d6bd7

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

storage/innobase/handler/ha_innodb.cc

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9167,18 +9167,18 @@ ha_innobase::update_row(
91679167
DB_FORCED_ABORT, 0, m_user_thd));
91689168
}
91699169

9170-
/* This is not a delete */
9171-
m_prebuilt->upd_node->is_delete = NO_DELETE;
9172-
91739170
{
91749171
const bool vers_set_fields = m_prebuilt->versioned_write
91759172
&& m_prebuilt->upd_node->update->affects_versioned();
91769173
const bool vers_ins_row = vers_set_fields
91779174
&& (table->s->vtmd
91789175
|| thd_sql_command(m_user_thd) != SQLCOM_ALTER_TABLE);
91799176

9180-
if (vers_set_fields && !vers_ins_row)
9181-
m_prebuilt->upd_node->is_delete = VERSIONED_DELETE;
9177+
/* This is not a delete */
9178+
m_prebuilt->upd_node->is_delete
9179+
= vers_set_fields && !vers_ins_row
9180+
? VERSIONED_DELETE
9181+
: NO_DELETE;
91829182

91839183
innobase_srv_conc_enter_innodb(m_prebuilt);
91849184

@@ -9301,12 +9301,10 @@ ha_innobase::delete_row(
93019301
}
93029302

93039303
/* This is a delete */
9304-
9305-
if (table->versioned_write() && table->vers_end_field()->is_max()) {
9306-
m_prebuilt->upd_node->is_delete = VERSIONED_DELETE;
9307-
} else {
9308-
m_prebuilt->upd_node->is_delete = PLAIN_DELETE;
9309-
}
9304+
m_prebuilt->upd_node->is_delete
9305+
= table->versioned_write() && table->vers_end_field()->is_max()
9306+
? VERSIONED_DELETE
9307+
: PLAIN_DELETE;
93109308

93119309
innobase_srv_conc_enter_innodb(m_prebuilt);
93129310

storage/innobase/include/row0mysql.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -860,16 +860,16 @@ struct row_prebuilt_t {
860860
/** The MySQL table object */
861861
TABLE*m_mysql_table;
862862

863-
/** Get template by column number */
863+
/** Get template by dict_table_t::cols[] number */
864864
const mysql_row_templ_t* get_template_by_col(ulint col) const
865865
{
866-
ut_a(col < n_template);
867-
ut_a(mysql_template);
868-
for (int i = col; i < n_template; ++i)
869-
{
870-
const mysql_row_templ_t* templ = mysql_template + i;
871-
if (!templ->is_virtual && templ->col_no == col)
866+
ut_ad(col < n_template);
867+
ut_ad(mysql_template);
868+
for (int i = col; i < n_template; ++i) {
869+
const mysql_row_templ_t* templ = &mysql_template[i];
870+
if (!templ->is_virtual && templ->col_no == col) {
872871
return templ;
872+
}
873873
}
874874
return NULL;
875875
}

storage/innobase/row/row0mysql.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1518,7 +1518,8 @@ row_insert_for_mysql(
15181518
/* Return back modified fields into mysql_rec, so that
15191519
upper logic may benefit from it (f.ex. 'on duplicate key'). */
15201520
const mysql_row_templ_t* t = prebuilt->get_template_by_col(table->vers_end);
1521-
ut_ad(t && t->mysql_col_len == 8);
1521+
ut_ad(t);
1522+
ut_ad(t->mysql_col_len == 8);
15221523

15231524
if (ins_mode == ROW_INS_HISTORICAL) {
15241525
set_tuple_col_8(node->row, table->vers_end, trx->id, node->vers_end_buf);
@@ -1527,7 +1528,8 @@ row_insert_for_mysql(
15271528
set_tuple_col_8(node->row, table->vers_end, TRX_ID_MAX, node->vers_end_buf);
15281529
int8store(&mysql_rec[t->mysql_col_offset], TRX_ID_MAX);
15291530
t = prebuilt->get_template_by_col(table->vers_start);
1530-
ut_ad(t && t->mysql_col_len == 8);
1531+
ut_ad(t);
1532+
ut_ad(t->mysql_col_len == 8);
15311533
set_tuple_col_8(node->row, table->vers_start, trx->id, node->vers_start_buf);
15321534
int8store(&mysql_rec[t->mysql_col_offset], trx->id);
15331535
}

0 commit comments

Comments
 (0)