File tree Expand file tree Collapse file tree 3 files changed +20
-20
lines changed
Expand file tree Collapse file tree 3 files changed +20
-20
lines changed Original file line number Diff line number Diff line change @@ -9167,18 +9167,18 @@ ha_innobase::update_row(
91679167DB_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{
91749171const bool vers_set_fields = m_prebuilt->versioned_write
91759172&& m_prebuilt->upd_node->update->affects_versioned();
91769173const 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
91839183innobase_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
93119309innobase_srv_conc_enter_innodb(m_prebuilt);
93129310
Original file line number Diff line number Diff line change @@ -860,16 +860,16 @@ struct row_prebuilt_t {
860860/** The MySQL table object */
861861TABLE * m_mysql_table ;
862862
863- /** Get template by column number */
863+ /** Get template by dict_table_t::cols[] number */
864864const 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 ) {
872871return templ ;
872+ }
873873}
874874return NULL ;
875875}
Original file line number Diff line number Diff 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'). */
15201520const 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
15231524if (ins_mode == ROW_INS_HISTORICAL) {
15241525set_tuple_col_8 (node->row , table->vers_end , trx->id , node->vers_end_buf );
@@ -1527,7 +1528,8 @@ row_insert_for_mysql(
15271528set_tuple_col_8 (node->row , table->vers_end , TRX_ID_MAX, node->vers_end_buf );
15281529int8store (&mysql_rec[t->mysql_col_offset ], TRX_ID_MAX);
15291530t = 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 );
15311533set_tuple_col_8 (node->row , table->vers_start , trx->id , node->vers_start_buf );
15321534int8store (&mysql_rec[t->mysql_col_offset ], trx->id );
15331535}
You can’t perform that action at this time.
0 commit comments