diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2020-10-20 10:57:57 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2020-10-20 10:57:57 +0300 |
commit | 7eda55619654b76add275695e0a6039e60876e81 (patch) | |
tree | 4f8e0451da12669fb51555b207a454b2fc3b7460 /storage/innobase/dict | |
parent | a6f956488c712bef3b13660584d1b905e0c676cc (diff) | |
download | mariadb-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.cc | 1 | ||||
-rw-r--r-- | storage/innobase/dict/dict0mem.cc | 1 |
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); } |