diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-05-14 23:24:26 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-05-15 12:10:48 +0200 |
commit | 77cd754229ba74eb87518285f48e1d95d00fbde9 (patch) | |
tree | db81f7d908c1efdcb87999d918508b024f69ed66 /mysql-test | |
parent | c29312421e9dd6b8b6be332788cbab0621cbcb9f (diff) | |
download | mariadb-git-77cd754229ba74eb87518285f48e1d95d00fbde9.tar.gz |
MDEV-16110 ALTER with ALGORITHM=INPLACE breaks temporary table with virtual columns
Part one, non-temporary tables.
Rrenaming a column can make destructive changes
to the TABLE. This TABLE cannot be used anymore
and needs to be reopened even if ALTER TABLE
was aborted with an error.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/alter_table_errors.result | 10 | ||||
-rw-r--r-- | mysql-test/t/alter_table_errors.test | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/mysql-test/r/alter_table_errors.result b/mysql-test/r/alter_table_errors.result new file mode 100644 index 00000000000..020a30304d0 --- /dev/null +++ b/mysql-test/r/alter_table_errors.result @@ -0,0 +1,10 @@ +create table t (a int, v int as (a)) engine=innodb; +alter table t change column a b tinyint, algorithm=inplace; +ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type INPLACE. Try ALGORITHM=COPY +show create table t; +Table Create Table +t CREATE TABLE `t` ( + `a` int(11) DEFAULT NULL, + `v` int(11) GENERATED ALWAYS AS (`a`) VIRTUAL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +drop table t; diff --git a/mysql-test/t/alter_table_errors.test b/mysql-test/t/alter_table_errors.test new file mode 100644 index 00000000000..d9982ac26f4 --- /dev/null +++ b/mysql-test/t/alter_table_errors.test @@ -0,0 +1,10 @@ +--source include/have_innodb.inc + +# +# MDEV-16110 ALTER with ALGORITHM=INPLACE breaks temporary table with virtual columns +# +create table t (a int, v int as (a)) engine=innodb; +--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON +alter table t change column a b tinyint, algorithm=inplace; +show create table t; +drop table t; |