diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/instant_alter_bugs.test')
-rw-r--r-- | mysql-test/suite/innodb/t/instant_alter_bugs.test | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/instant_alter_bugs.test b/mysql-test/suite/innodb/t/instant_alter_bugs.test index e66ddcb5688..3cf3de54ba5 100644 --- a/mysql-test/suite/innodb/t/instant_alter_bugs.test +++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test @@ -134,6 +134,24 @@ HANDLER h READ `PRIMARY` PREV WHERE 0; # Cleanup HANDLER h CLOSE; DROP TABLE t1; + +# MDEV-19630 ALTER TABLE ... ADD COLUMN damages foreign keys which are pointed +# to the table being altered +CREATE TABLE t1(f1 int not null, primary key(f1))engine=innodb; +CREATE TABLE t2(f1 INT AUTO_INCREMENT NOT NULL, f2 INT NOT NULL, + status ENUM ('a', 'b', 'c'), INDEX idx1(f2), + PRIMARY KEY(f1), + FOREIGN KEY (f2) REFERENCES t1(f1))ENGINE=InnoDB; + +ALTER TABLE t1 CHANGE f1 f1_id INT NOT NULL, ADD f3 VARCHAR(255) DEFAULT NULL; +ALTER TABLE t1 CHANGE f1_id f1 INT NOT NULL; + +SHOW CREATE TABLE t1; +SHOW CREATE TABLE t2; + +ALTER TABLE t2 CHANGE status status VARCHAR(20) DEFAULT NULL; +DROP TABLE t2, t1; + --let $datadir= `select @@datadir` --remove_file $datadir/test/load.data |