diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-09-14 18:50:37 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-12-20 08:06:55 +0100 |
commit | e765b47e41db54124c05732a903110eae08e1194 (patch) | |
tree | fa82f071d9cbb1d73202c873517091a2e4536c7c /sql/ha_partition.cc | |
parent | 610e4034d7ba34c6b4cba1e1b5faf45eba835498 (diff) | |
download | mariadb-git-e765b47e41db54124c05732a903110eae08e1194.tar.gz |
MDEV-17199 Assertion `pos < table->n_v_def' failed after upgrade to 10.2
Before MDEV-5800 in MariaDB 10.2.2, InnoDB knew nothing about
virtual columns. But, they would be present in the TABLE_SHARE.
It appears that the MDEV-12936 fix only worked in the special case
when the virtual columns are the last columns in a table definition.
mysql_fields(): Remove.
build_template_needs_field(): Omit virtual columns if the
InnoDB table definition is known to not contain them, based
on the .frm file version.
build_template_field(): Clean up some code.
ha_innobase::build_template(): Remove redundant computations.
Loop over all MariaDB columns. Skip virtual columns if
InnoDB does not know about them.
calc_row_difference(): Skip not-known-to-InnoDB virtual columns.
wsrep_calc_row_hash(): Skip all virtual columns. This would
fix an out-of-bounds access to dict_table_t::cols[]. Also,
remove some redundant computations and variables.
create_table_check_doc_id_col(): Assert that the .frm file
for a newly created table will be in a format where InnoDB
knows about virtual columns.
Diffstat (limited to 'sql/ha_partition.cc')
0 files changed, 0 insertions, 0 deletions