summaryrefslogtreecommitdiff
path: root/storage/innobase/row/row0vers.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-06-30 16:39:20 +0200
committerSergei Golubchik <serg@mariadb.org>2018-06-30 16:39:20 +0200
commit36e59752e7fc70bc5179a3d730b5ce3ee58e4e30 (patch)
tree0d3e30ce973b2e1f044931c0eb1846d7192becda /storage/innobase/row/row0vers.cc
parent7c0779da7c37f6ef6eff2f79dda6f1b0c57e3869 (diff)
parent1dd3c8f8ba49ec06e550d7376d27ff05ce024bec (diff)
downloadmariadb-git-36e59752e7fc70bc5179a3d730b5ce3ee58e4e30.tar.gz
Merge branch '10.2' into 10.3
Diffstat (limited to 'storage/innobase/row/row0vers.cc')
-rw-r--r--storage/innobase/row/row0vers.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/storage/innobase/row/row0vers.cc b/storage/innobase/row/row0vers.cc
index d585ef3a9d3..bfaa2721746 100644
--- a/storage/innobase/row/row0vers.cc
+++ b/storage/innobase/row/row0vers.cc
@@ -434,6 +434,19 @@ row_vers_build_clust_v_col(
mem_heap_t* heap)
{
mem_heap_t* local_heap = NULL;
+ VCOL_STORAGE *vcol_storage= NULL;
+ THD* thd= current_thd;
+ TABLE* maria_table= 0;
+ byte* record= 0;
+
+ ut_ad(dict_index_has_virtual(index));
+
+ innobase_allocate_row_for_vcol(thd, index,
+ &local_heap,
+ &maria_table,
+ &record,
+ &vcol_storage);
+
for (ulint i = 0; i < dict_index_get_n_fields(index); i++) {
const dict_field_t* ind_field = dict_index_get_nth_field(
index, i);
@@ -446,15 +459,18 @@ row_vers_build_clust_v_col(
innobase_get_computed_value(
row, col, clust_index, &local_heap,
- heap, NULL, current_thd, NULL, NULL,
+ heap, NULL, thd, maria_table, record, NULL,
NULL, NULL);
}
}
if (local_heap) {
+ if (vcol_storage)
+ innobase_free_row_for_vcol(vcol_storage);
mem_heap_free(local_heap);
}
}
+
/** Build latest virtual column data from undo log
@param[in] in_purge whether this is the purge thread
@param[in] rec clustered index record