1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-18173 Assertion o->ind == vers_end' or o->ind == vers_start' failed in dict_table_t::instant_column

This commit is contained in:
Aleksey Midenkov
2019-01-14 14:05:21 +03:00
parent e7924a8598
commit 35318d730a
3 changed files with 21 additions and 2 deletions

View File

@ -135,5 +135,13 @@ alter table t1 drop system versioning;
create or replace table t1 (a int, b int) with system versioning; create or replace table t1 (a int, b int) with system versioning;
insert into t1 values (1, 1); insert into t1 values (1, 1);
alter table t1 drop system versioning; alter table t1 drop system versioning;
#
# MDEV-18173 Assertion `o->ind == vers_end' or `o->ind == vers_start' failed in dict_table_t::instant_column
#
set @@system_versioning_alter_history= keep;
create or replace table t1 (pk integer primary key, a int, b int, v int as (a))
with system versioning;
alter table t1 force;
alter table t1 drop column b;
drop database test; drop database test;
create database test; create database test;

View File

@ -172,5 +172,16 @@ set debug_dbug= default;
} }
alter table t1 drop system versioning; alter table t1 drop system versioning;
--echo #
--echo # MDEV-18173 Assertion `o->ind == vers_end' or `o->ind == vers_start' failed in dict_table_t::instant_column
--echo #
set @@system_versioning_alter_history= keep;
create or replace table t1 (pk integer primary key, a int, b int, v int as (a))
with system versioning;
alter table t1 force;
alter table t1 drop column b;
drop database test; drop database test;
create database test; create database test;

View File

@ -4213,9 +4213,9 @@ innobase_build_col_map(
col_map[old_i - num_old_v] = i; col_map[old_i - num_old_v] = i;
if (old_table->versioned()) { if (old_table->versioned()) {
if (old_i == old_table->vers_start) { if (old_i == old_table->vers_start) {
new_table->vers_start = i; new_table->vers_start = i + num_v;
} else if (old_i == old_table->vers_end) { } else if (old_i == old_table->vers_end) {
new_table->vers_end = i; new_table->vers_end = i + num_v;
} }
} }
goto found_col; goto found_col;