--source include/have_innodb.inc --source include/have_sequence.inc SET @save_per_table= @@GLOBAL.innodb_file_per_table; SET GLOBAL innodb_file_per_table= 1; let MYSQLD_DATADIR =`SELECT @@datadir`; --echo # --echo # MDEV-15249 Crash in MVCC read after IMPORT TABLESPACE --echo # CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES(0); FLUSH TABLES t1 WITH READ LOCK; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_backup_tablespace("test", "t1"); EOF UNLOCK TABLES; START TRANSACTION WITH CONSISTENT SNAPSHOT; connect (con1,localhost,root,,); ALTER TABLE t1 FORCE, ALGORITHM=COPY; connection default; --error ER_TABLE_DEF_CHANGED SELECT * FROM t1; COMMIT; START TRANSACTION WITH CONSISTENT SNAPSHOT; connection con1; ALTER TABLE t1 DISCARD TABLESPACE; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_restore_tablespace("test", "t1"); EOF ALTER TABLE t1 IMPORT TABLESPACE; disconnect con1; connection default; --echo # FIXME: Block this with ER_TABLE_DEF_CHANGED SELECT * FROM t1; COMMIT; SELECT * FROM t1; DROP TABLE t1; --echo # --echo # MDEV-23198 Crash in REPLACE --echo # DELIMITER $$; BEGIN NOT ATOMIC DECLARE c TEXT DEFAULT(SELECT CONCAT('CREATE TABLE t1(id INT PRIMARY KEY, c', GROUP_CONCAT(seq SEPARATOR ' INT, c'), ' INT NOT NULL UNIQUE) ENGINE=InnoDB') FROM seq_1_to_294); EXECUTE IMMEDIATE c; END; $$ DELIMITER ;$$ INSERT INTO t1 SET id=1,c294=1; REPLACE t1 SET id=1,c294=1; DROP TABLE t1; SET GLOBAL innodb_file_per_table= @save_per_table;