diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-02-04 16:31:52 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-02-04 16:36:58 +0200 |
commit | a56f78243ee06167b5baf8255d3866099f3a3936 (patch) | |
tree | f5ad6c5a29321aee2a8c1f0d40682457f734262a /mysql-test/suite/innodb | |
parent | 46386661a2311cabd7bac914c44b1af0b4746e07 (diff) | |
download | mariadb-git-a56f78243ee06167b5baf8255d3866099f3a3936.tar.gz |
MDEV-21645 SIGSEGV in innobase_get_computed_value
ha_innobase::commit_inplace_alter_table(): After
ALTER_STORED_COLUMN_ORDER, ensure that the virtual column metadata
will be reloaded also when the table is not being rebuilt.
Diffstat (limited to 'mysql-test/suite/innodb')
-rw-r--r-- | mysql-test/suite/innodb/r/instant_alter_bugs.result | 9 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/instant_alter_bugs.test | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/instant_alter_bugs.result b/mysql-test/suite/innodb/r/instant_alter_bugs.result index 4512542f612..53f2d4f1c60 100644 --- a/mysql-test/suite/innodb/r/instant_alter_bugs.result +++ b/mysql-test/suite/innodb/r/instant_alter_bugs.result @@ -358,4 +358,13 @@ t1 CREATE TABLE `t1` ( `a` char(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin2 ROW_FORMAT=REDUNDANT DROP TABLE t1; +# +# MDEV-21645 SIGSEGV in innobase_get_computed_value +# +CREATE TABLE t1 (a INT PRIMARY KEY, b INT, va INTEGER GENERATED ALWAYS AS (a)) +ENGINE=InnoDB; +INSERT INTO t1 SET a=1, b=NULL; +ALTER TABLE t1 MODIFY COLUMN b INT FIRST; +ALTER TABLE t1 ADD UNIQUE INDEX (va); +DROP TABLE t1; SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency; diff --git a/mysql-test/suite/innodb/t/instant_alter_bugs.test b/mysql-test/suite/innodb/t/instant_alter_bugs.test index 0a1de256b6a..d76a586cfa1 100644 --- a/mysql-test/suite/innodb/t/instant_alter_bugs.test +++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test @@ -374,4 +374,14 @@ ALTER TABLE t1 MODIFY a CHAR, ALGORITHM=INSTANT; SHOW CREATE TABLE t1; DROP TABLE t1; +--echo # +--echo # MDEV-21645 SIGSEGV in innobase_get_computed_value +--echo # +CREATE TABLE t1 (a INT PRIMARY KEY, b INT, va INTEGER GENERATED ALWAYS AS (a)) +ENGINE=InnoDB; +INSERT INTO t1 SET a=1, b=NULL; +ALTER TABLE t1 MODIFY COLUMN b INT FIRST; +ALTER TABLE t1 ADD UNIQUE INDEX (va); +DROP TABLE t1; + SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency; |