diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/instant_alter_crash.test')
-rw-r--r-- | mysql-test/suite/innodb/t/instant_alter_crash.test | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/mysql-test/suite/innodb/t/instant_alter_crash.test b/mysql-test/suite/innodb/t/instant_alter_crash.test index f9b18aa589f..43db8f619f3 100644 --- a/mysql-test/suite/innodb/t/instant_alter_crash.test +++ b/mysql-test/suite/innodb/t/instant_alter_crash.test @@ -91,7 +91,6 @@ DELETE FROM t1; disconnect ddl; --source include/start_mysqld.inc -SET @saved_frequency= @@GLOBAL.innodb_purge_rseg_truncate_frequency; SET GLOBAL innodb_purge_rseg_truncate_frequency=1; let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err; @@ -177,11 +176,32 @@ UNLOCK TABLES; DELETE FROM t2; --source include/wait_all_purged.inc +--echo # +--echo # MDEV-24323 Crash on recovery after kill during instant ADD COLUMN +--echo # +connect ddl, localhost, root; +CREATE TABLE t3(id INT PRIMARY KEY, c2 INT, v2 INT AS(c2) VIRTUAL, UNIQUE(v2)) +ENGINE=InnoDB; +INSERT INTO t3 SET id=1,c2=1; + +SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever'; +--send +ALTER TABLE t3 ADD COLUMN c3 TEXT NOT NULL DEFAULT 'sic transit gloria mundi'; + +connection default; +SET DEBUG_SYNC='now WAIT_FOR ddl'; +SET GLOBAL innodb_flush_log_at_trx_commit=1; +SET debug_dbug='+d,dict_sys_mutex_avoid'; +INSERT INTO t1 VALUES(0,0); + +--source include/kill_mysqld.inc +disconnect ddl; +--source include/start_mysqld.inc + SHOW CREATE TABLE t1; SHOW CREATE TABLE t2; -DROP TABLE t1,t2; +SHOW CREATE TABLE t3; +DROP TABLE t1,t2,t3; --remove_files_wildcard $MYSQLD_DATADIR/test #sql*.frm --list_files $MYSQLD_DATADIR/test - -SET GLOBAL innodb_purge_rseg_truncate_frequency=@saved_frequency; |