summaryrefslogtreecommitdiff
path: root/storage/innobase/dict
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2020-10-20 10:57:57 +0300
committerAleksey Midenkov <midenok@gmail.com>2020-10-20 10:57:57 +0300
commit7eda55619654b76add275695e0a6039e60876e81 (patch)
tree4f8e0451da12669fb51555b207a454b2fc3b7460 /storage/innobase/dict
parenta6f956488c712bef3b13660584d1b905e0c676cc (diff)
downloadmariadb-git-7eda55619654b76add275695e0a6039e60876e81.tar.gz
MDEV-23672 Assertion `v.v_indexes.empty()' failed in dict_table_t::instant_column
dict_v_idx_t node was shared between two dict_v_col_t objects because of wrong object copy. Replace memory plain copy with copy constructor. Tha patch also removes n_v_indexes property and improves "page full" judgements for trx_undo_log_v_idx().
Diffstat (limited to 'storage/innobase/dict')
-rw-r--r--storage/innobase/dict/dict0dict.cc1
-rw-r--r--storage/innobase/dict/dict0mem.cc1
2 files changed, 0 insertions, 2 deletions
diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc
index 411abdcd494..d33e1dd3c3a 100644
--- a/storage/innobase/dict/dict0dict.cc
+++ b/storage/innobase/dict/dict0dict.cc
@@ -2146,7 +2146,6 @@ dict_index_add_col(
if (col->is_virtual()) {
dict_v_col_t* v_col = reinterpret_cast<dict_v_col_t*>(col);
/* Register the index with the virtual column index list */
- v_col->n_v_indexes++;
v_col->v_indexes.push_front(dict_v_idx_t(index, index->n_def));
col_name = dict_table_get_v_col_name_mysql(
table, dict_col_get_no(col));
diff --git a/storage/innobase/dict/dict0mem.cc b/storage/innobase/dict/dict0mem.cc
index b72451e0f34..d179806324f 100644
--- a/storage/innobase/dict/dict0mem.cc
+++ b/storage/innobase/dict/dict0mem.cc
@@ -425,7 +425,6 @@ dict_mem_table_add_v_col(
/* Initialize the index list for virtual columns */
ut_ad(v_col->v_indexes.empty());
- v_col->n_v_indexes = 0;
return(v_col);
}