diff options
Diffstat (limited to 'storage/innobase/row/row0upd.cc')
-rw-r--r-- | storage/innobase/row/row0upd.cc | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/storage/innobase/row/row0upd.cc b/storage/innobase/row/row0upd.cc index 4e515bab30d..d4b8decaea7 100644 --- a/storage/innobase/row/row0upd.cc +++ b/storage/innobase/row/row0upd.cc @@ -1032,9 +1032,8 @@ row_upd_build_difference_binary( n_diff = 0; trx_id_pos = dict_index_get_sys_col_pos(index, DATA_TRX_ID); - ut_ad(dict_table_is_intrinsic(index->table) - || (dict_index_get_sys_col_pos(index, DATA_ROLL_PTR) - == trx_id_pos + 1)); + ut_ad(dict_index_get_sys_col_pos(index, DATA_ROLL_PTR) + == trx_id_pos + 1); if (!offsets) { offsets = rec_get_offsets(rec, index, offsets_, @@ -1058,8 +1057,7 @@ row_upd_build_difference_binary( } /* DB_ROLL_PTR */ - if (i == trx_id_pos + 1 - && !dict_table_is_intrinsic(index->table)) { + if (i == trx_id_pos + 1) { continue; } } @@ -2255,7 +2253,7 @@ row_upd_sec_index_entry( dberr_t err = DB_SUCCESS; trx_t* trx = thr_get_trx(thr); ulint mode; - ulint flags = 0; + ulint flags; enum row_search_result search_result; ut_ad(trx->id != 0); @@ -2273,9 +2271,7 @@ row_upd_sec_index_entry( entry = row_build_index_entry(node->row, node->ext, index, heap); ut_a(entry); - if (!dict_table_is_intrinsic(index->table)) { - log_free_check(); - } + log_free_check(); DEBUG_SYNC_C_IF_THD(trx->mysql_thd, "before_row_upd_sec_index_entry"); @@ -2288,12 +2284,10 @@ row_upd_sec_index_entry( on restart for recovery. Disable locking as temp-tables are not shared across connection. */ if (dict_table_is_temporary(index->table)) { - flags |= BTR_NO_LOCKING_FLAG; + flags = BTR_NO_LOCKING_FLAG; mtr.set_log_mode(MTR_LOG_NO_REDO); - - if (dict_table_is_intrinsic(index->table)) { - flags |= BTR_NO_UNDO_LOG_FLAG; - } + } else { + flags = 0; } if (!index->is_committed()) { @@ -2877,10 +2871,6 @@ row_upd_clust_rec( if (dict_table_is_temporary(index->table)) { flags |= BTR_NO_LOCKING_FLAG; mtr->set_log_mode(MTR_LOG_NO_REDO); - - if (dict_table_is_intrinsic(index->table)) { - flags |= BTR_NO_UNDO_LOG_FLAG; - } } /* NOTE: this transaction has an s-lock or x-lock on the record and @@ -3058,7 +3048,7 @@ row_upd_clust_step( ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets; ibool referenced; - ulint flags = 0; + ulint flags; ibool foreign = FALSE; trx_t* trx = thr_get_trx(thr); @@ -3085,12 +3075,10 @@ row_upd_clust_step( on restart for recovery. Disable locking as temp-tables are not shared across connection. */ if (dict_table_is_temporary(index->table)) { - flags |= BTR_NO_LOCKING_FLAG; + flags = BTR_NO_LOCKING_FLAG; mtr.set_log_mode(MTR_LOG_NO_REDO); - - if (dict_table_is_intrinsic(index->table)) { - flags |= BTR_NO_UNDO_LOG_FLAG; - } + } else { + flags = 0; } /* If the restoration does not succeed, then the same @@ -3290,9 +3278,8 @@ row_upd( switch (node->state) { case UPD_NODE_UPDATE_CLUSTERED: case UPD_NODE_INSERT_CLUSTERED: - if (!dict_table_is_intrinsic(node->table)) { - log_free_check(); - } + log_free_check(); + err = row_upd_clust_step(node, thr); if (err != DB_SUCCESS) { |