2749 Davi Arnaut 2009-03-25
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.
@ mysql-test/suite/parts/r/partition_special_innodb.result
Update test case result.
@ 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
modified:
mysql-test/include/mix1.inc
mysql-test/r/innodb_mysql.result
mysql-test/suite/parts/r/partition_special_innodb.result
mysql-test/suite/parts/t/partition_special_innodb.test
2748 Alexander Nozdrin 2009-03-25
Patch for Bug#38054: "SET SESSION debug" modifies @@global.debug variable.
1. Fix merge error.
2. Add a test case to ensure it will not be broken in the future.
modified:
dbug/dbug.c
mysql-test/r/variables_debug.result
mysql-test/t/variables_debug.test
=== modified file 'mysql-test/include/mix1.inc'
--- a/mysql-test/include/mix1.inc 2009-03-06 22:17:00 +0000
+++ b/mysql-test/include/mix1.inc 2009-03-25 22:22:00 +0000
@@ -897,6 +897,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;
=== modified file 'mysql-test/r/innodb_mysql.result'
--- a/mysql-test/r/innodb_mysql.result 2009-03-06 22:17:00 +0000
+++ b/mysql-test/r/innodb_mysql.result 2009-03-25 22:22:00 +0000
@@ -1104,6 +1104,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;
=== modified file 'mysql-test/suite/parts/r/partition_special_innodb.result'
--- a/mysql-test/suite/parts/r/partition_special_innodb.result 2009-01-27 11:03:30 +0000
+++ b/mysql-test/suite/parts/r/partition_special_innodb.result 2009-03-25 22:22:00 +0000
@@ -214,9 +214,4 @@ INSERT INTO t1 VALUES (NULL, 'first row
SET autocommit=OFF;
ALTER TABLE t1 AUTO_INCREMENT = 10;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-INSERT INTO t1 VALUES (NULL, 'second row t2');
-SELECT a,b FROM t1 ORDER BY a;
-a b
-1 first row t2
-2 second row t2
DROP TABLE t1;
=== modified file 'mysql-test/suite/parts/t/partition_special_innodb.test'
--- a/mysql-test/suite/parts/t/partition_special_innodb.test 2008-12-10 09:20:38 +0000
+++ b/mysql-test/suite/parts/t/partition_special_innodb.test 2009-03-25 22:22:00 +0000
@@ -71,9 +71,6 @@ SET autocommit=OFF;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 AUTO_INCREMENT = 10;
---connection con1
-INSERT INTO t1 VALUES (NULL, 'second row t2');
-SELECT a,b FROM t1 ORDER BY a;
--disconnect con2
--disconnect con1
--connection default
Attachment: [text/bzr-bundle] bzr/davi.arnaut@sun.com-20090325222200-r6y6kx4lm4m20cww.bundle
| Thread |
|---|
| • bzr push into mysql-6.0 branch (davi:2748 to 2749) WL#4284 | Davi Arnaut | 25 Mar |