diff options
Diffstat (limited to 'storage/innobase/row/row0upd.cc')
-rw-r--r-- | storage/innobase/row/row0upd.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/storage/innobase/row/row0upd.cc b/storage/innobase/row/row0upd.cc index c6e05bd236a..1444f6f7c7d 100644 --- a/storage/innobase/row/row0upd.cc +++ b/storage/innobase/row/row0upd.cc @@ -1069,7 +1069,7 @@ row_upd_build_difference_binary( == trx_id_pos + 1); if (!offsets) { - offsets = rec_get_offsets(rec, index, offsets_, + offsets = rec_get_offsets(rec, index, offsets_, true, ULINT_UNDEFINED, &heap); } else { ut_ad(rec_offs_validate(rec, index, offsets)); @@ -2196,7 +2196,7 @@ row_upd_store_row( rec = btr_pcur_get_rec(node->pcur); - offsets = rec_get_offsets(rec, clust_index, offsets_, + offsets = rec_get_offsets(rec, clust_index, offsets_, true, ULINT_UNDEFINED, &heap); if (dict_table_has_atomic_blobs(node->table)) { @@ -2444,8 +2444,8 @@ row_upd_sec_index_entry( && !wsrep_thd_is_BF(trx->mysql_thd, FALSE)) { ulint* offsets = rec_get_offsets( - rec, index, NULL, ULINT_UNDEFINED, - &heap); + rec, index, NULL, true, + ULINT_UNDEFINED, &heap); err = wsrep_row_upd_check_foreign_constraints( node, &pcur, index->table, @@ -2481,7 +2481,7 @@ row_upd_sec_index_entry( ulint* offsets; offsets = rec_get_offsets( - rec, index, NULL, ULINT_UNDEFINED, + rec, index, NULL, true, ULINT_UNDEFINED, &heap); /* NOTE that the following call loses @@ -2690,7 +2690,7 @@ row_upd_clust_rec_by_insert( we update the primary key. Delete-mark the old record in the clustered index and prepare to insert a new entry. */ rec = btr_cur_get_rec(btr_cur); - offsets = rec_get_offsets(rec, index, NULL, + offsets = rec_get_offsets(rec, index, NULL, true, ULINT_UNDEFINED, &heap); ut_ad(page_rec_is_user_rec(rec)); @@ -2965,7 +2965,8 @@ row_upd_del_mark_clust_rec( entries */ row_upd_store_row(node, trx->mysql_thd, - thr->prebuilt ? thr->prebuilt->m_mysql_table : NULL); + thr->prebuilt && thr->prebuilt->table == node->table + ? thr->prebuilt->m_mysql_table : NULL); /* Mark the clustered index record deleted; we do not have to check locks, because we assume that we have an x-lock on the record */ @@ -3131,7 +3132,7 @@ row_upd_clust_step( } rec = btr_pcur_get_rec(pcur); - offsets = rec_get_offsets(rec, index, offsets_, + offsets = rec_get_offsets(rec, index, offsets_, true, ULINT_UNDEFINED, &heap); if (!flags && !node->has_clust_rec_x_lock) { |