mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Backport of:
------------------------------------------------------------ revno: 2617.31.7 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: mysql-6.0-runtime timestamp: Wed 2009-03-25 19:22:00 -0300 message: WL#4284: Transactional DDL locking Post-merge fixes for test cases. mysql-test/include/mix1.inc: Ignore deadlock errors due to the table being altered. mysql-test/r/innodb_mysql.result: Update test case result (WL$4284). mysql-test/suite/parts/r/partition_special_innodb.result: The INSERT and SELECT are not necessary to reproduce the problem as the assertion happens when the table is being altered. Furthermore, the INSERT and SELECT will yield a deadlock error as after the alter the table version is set to zero, which means that any metadata locks on the table must be relinquished, but this won't happen voluntarily in a multi-statement transaction (metadata locks are released on commit or rollback). Reported as Bug#43867. mysql-test/suite/parts/t/partition_special_innodb.test: The INSERT and SELECT are not necessary to reproduce the problem as the assertion happens when the table is being altered. Furthermore, the INSERT and SELECT will yield a deadlock error as after the alter the table version is set to zero, which means that any metadata locks on the table must be relinquished, but this won't happen voluntarily in a multi-statement transaction (metadata locks are released on commit or rollback). Reported as Bug#43867.
This commit is contained in:
@ -899,6 +899,8 @@ CREATE PROCEDURE p1 ()
|
||||
BEGIN
|
||||
DECLARE i INT DEFAULT 50;
|
||||
DECLARE cnt INT;
|
||||
# Continue even in the presence of ER_LOCK_DEADLOCK.
|
||||
DECLARE CONTINUE HANDLER FOR 1213 BEGIN END;
|
||||
START TRANSACTION;
|
||||
ALTER TABLE t1 ENGINE=InnoDB;
|
||||
COMMIT;
|
||||
|
Reference in New Issue
Block a user