summaryrefslogtreecommitdiff
path: root/storage/innobase/row/row0upd.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/row/row0upd.cc')
-rw-r--r--storage/innobase/row/row0upd.cc17
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) {