diff options
Diffstat (limited to 'mysql-test/suite/innodb/r/foreign_key.result')
-rw-r--r-- | mysql-test/suite/innodb/r/foreign_key.result | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result index ac1c5c1763b..376ea821279 100644 --- a/mysql-test/suite/innodb/r/foreign_key.result +++ b/mysql-test/suite/innodb/r/foreign_key.result @@ -435,8 +435,8 @@ INSERT INTO t1 VALUES (1,2); CREATE TABLE x AS SELECT * FROM t1; ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state connect con1,localhost,root,,test; -SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 1; -SET lock_wait_timeout=5; +SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 0; +SET lock_wait_timeout=2; ALTER TABLE t1 ADD FOREIGN KEY f (a) REFERENCES t1 (pk), LOCK=EXCLUSIVE; ERROR HY000: Lock wait timeout exceeded; try restarting transaction disconnect con1; @@ -518,7 +518,7 @@ BEGIN; UPDATE users SET name = 'qux' WHERE id = 1; connect con1,localhost,root; connection con1; -SET innodb_lock_wait_timeout= 1; +SET innodb_lock_wait_timeout= 0; DELETE FROM matchmaking_groups WHERE id = 10; connection default; COMMIT; @@ -558,9 +558,10 @@ connection con1; BEGIN; UPDATE t2 SET f = 11 WHERE id = 1; connection default; -SET innodb_lock_wait_timeout= 1; +SET innodb_lock_wait_timeout= 0; DELETE FROM t1 WHERE id = 1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction +SET innodb_lock_wait_timeout= 1; connection con1; COMMIT; connection default; @@ -966,3 +967,50 @@ t2 CREATE TABLE `t2` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop tables t2, t1; # End of 10.5 tests +# +# MDEV-26554 Table-rebuilding DDL on parent table causes crash +# for INSERT into child table +# +CREATE TABLE parent(a INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE child(a INT PRIMARY KEY REFERENCES parent(a)) ENGINE=InnoDB; +connect con1, localhost, root,,; +BEGIN; +INSERT INTO child SET a=1; +ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`)) +connection default; +SET innodb_lock_wait_timeout=0, foreign_key_checks=0; +TRUNCATE TABLE parent; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +ALTER TABLE parent FORCE, ALGORITHM=COPY; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +ALTER TABLE parent FORCE, ALGORITHM=INPLACE; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection con1; +COMMIT; +connection default; +SET innodb_lock_wait_timeout=DEFAULT; +TRUNCATE TABLE parent; +ALTER TABLE parent FORCE, ALGORITHM=COPY; +ALTER TABLE parent FORCE, ALGORITHM=INPLACE; +ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT; +DROP TABLE child, parent; +# +# MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove +# or Assertion `lock->trx == this' failed in dberr_t trx_t::drop_table +# +CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1); +CREATE TABLE t2 (pk INT PRIMARY KEY, FOREIGN KEY(pk) REFERENCES t1(pk)) +ENGINE=InnoDB; +connection con1; +SET FOREIGN_KEY_CHECKS=OFF; +CREATE OR REPLACE TABLE t1 (b INT) ENGINE=InnoDB; +connection default; +INSERT INTO t2 VALUES (1); +connection con1; +disconnect con1; +connection default; +DROP TABLE IF EXISTS t2, t1; +# End of 10.6 tests |