summaryrefslogtreecommitdiff
path: root/storage/innobase
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase')
-rw-r--r--storage/innobase/row/row0vers.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/storage/innobase/row/row0vers.cc b/storage/innobase/row/row0vers.cc
index 6c7cfdad1e6..7db1b936348 100644
--- a/storage/innobase/row/row0vers.cc
+++ b/storage/innobase/row/row0vers.cc
@@ -904,6 +904,7 @@ row_vers_old_has_index_entry(
ut_ad(mtr_memo_contains_page_flagged(mtr, rec, MTR_MEMO_PAGE_X_FIX
| MTR_MEMO_PAGE_S_FIX));
ut_ad(!rw_lock_own(&(purge_sys->latch), RW_LOCK_S));
+ ut_ad(also_curr || !vcol_info);
clust_index = dict_table_get_first_index(index->table);
@@ -970,7 +971,7 @@ row_vers_old_has_index_entry(
entry = row_build_index_entry(
row, ext, index, heap);
if (entry && !dtuple_coll_cmp(ientry, entry)) {
- goto safe_to_purge;
+ goto unsafe_to_purge;
}
} else {
/* Build index entry out of row */
@@ -991,7 +992,7 @@ row_vers_old_has_index_entry(
clust_index, clust_offsets,
index, ientry, roll_ptr,
trx_id, NULL, &vrow, mtr)) {
- goto safe_to_purge;
+ goto unsafe_to_purge;
}
}
clust_offsets = rec_get_offsets(rec, clust_index, NULL,
@@ -1024,7 +1025,7 @@ row_vers_old_has_index_entry(
a different binary value in a char field, but the
collation identifies the old and new value anyway! */
if (entry && !dtuple_coll_cmp(ientry, entry)) {
-safe_to_purge:
+unsafe_to_purge:
mem_heap_free(heap);
if (v_heap) {
@@ -1065,7 +1066,6 @@ safe_to_purge:
if (!prev_version) {
/* Versions end here */
-unsafe_to_purge:
mem_heap_free(heap);
if (v_heap) {
@@ -1127,7 +1127,7 @@ unsafe_to_purge:
and new value anyway! */
if (entry && !dtuple_coll_cmp(ientry, entry)) {
- goto safe_to_purge;
+ goto unsafe_to_purge;
}
}