From 75d7bb91a3013cc0fa99003c638f154930966b12 Mon Sep 17 00:00:00 2001 From: Magne Mahre Date: Wed, 9 Jun 2010 10:46:24 +0200 Subject: [PATCH] Post-commit fixes after the push for Bug#20837 et. al. mysql-test/suite/innodb/r/innodb_information_schema.result: The transaction is in REPEATABLE READ, since the iso level was changed to SERIALIZABLE only for the previous trx. mysql-test/suite/innodb/t/innodb-semi-consistent.test: 'commit' was missing from the original patch mysql-test/t/parser.test: Moved the test for Bug#46527 to parser_not_embedded, since "disconnect default" isn't allowed with the embedded server. mysql-test/t/parser_not_embedded.test: Moved the test for Bug#46527 to parser_not_embedded, since "disconnect default" isn't allowed with the embedded server. --- mysql-test/r/parser.result | 45 ----------- mysql-test/r/parser_not_embedded.result | 45 +++++++++++ .../innodb/r/innodb-semi-consistent.result | 1 + .../innodb/r/innodb_information_schema.result | 2 +- .../innodb/t/innodb-semi-consistent.test | 1 + mysql-test/t/parser.test | 75 ------------------- mysql-test/t/parser_not_embedded.test | 75 +++++++++++++++++++ 7 files changed, 123 insertions(+), 121 deletions(-) diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result index 0cfde6dd2a0..467bb7c5cb8 100644 --- a/mysql-test/r/parser.result +++ b/mysql-test/r/parser.result @@ -618,48 +618,3 @@ DROP TABLE t1, t2, t3; # # End of 5.1 tests # -# Bug#46527 "COMMIT AND CHAIN RELEASE does not make sense" -# -COMMIT AND CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -COMMIT AND NO CHAIN RELEASE; -COMMIT RELEASE; -COMMIT CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 -COMMIT NO CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 -COMMIT AND NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -COMMIT AND RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -COMMIT NO RELEASE; -COMMIT CHAIN NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 -COMMIT NO CHAIN NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 -COMMIT AND RELEASE CHAIN; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE CHAIN' at line 1 -COMMIT AND NO CHAIN NO RELEASE; -ROLLBACK AND CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -ROLLBACK AND NO CHAIN RELEASE; -ROLLBACK RELEASE; -ROLLBACK CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 -ROLLBACK NO CHAIN RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 -ROLLBACK AND NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -ROLLBACK AND RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 -ROLLBACK NO RELEASE; -ROLLBACK CHAIN NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 -ROLLBACK NO CHAIN NO RELEASE; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 -ROLLBACK AND RELEASE CHAIN; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE CHAIN' at line 1 -ROLLBACK AND NO CHAIN NO RELEASE; -# -# End of 5.5 tests -# diff --git a/mysql-test/r/parser_not_embedded.result b/mysql-test/r/parser_not_embedded.result index 140b13c9864..5a5ae9f8178 100644 --- a/mysql-test/r/parser_not_embedded.result +++ b/mysql-test/r/parser_not_embedded.result @@ -47,3 +47,48 @@ +----------+--------+ | 4 | 4 | +----------+--------+ +# Bug#46527 "COMMIT AND CHAIN RELEASE does not make sense" +# +COMMIT AND CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +COMMIT AND NO CHAIN RELEASE; +COMMIT RELEASE; +COMMIT CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 +COMMIT NO CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 +COMMIT AND NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +COMMIT AND RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +COMMIT NO RELEASE; +COMMIT CHAIN NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 +COMMIT NO CHAIN NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 +COMMIT AND RELEASE CHAIN; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE CHAIN' at line 1 +COMMIT AND NO CHAIN NO RELEASE; +ROLLBACK AND CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +ROLLBACK AND NO CHAIN RELEASE; +ROLLBACK RELEASE; +ROLLBACK CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 +ROLLBACK NO CHAIN RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN RELEASE' at line 1 +ROLLBACK AND NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +ROLLBACK AND RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE' at line 1 +ROLLBACK NO RELEASE; +ROLLBACK CHAIN NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 +ROLLBACK NO CHAIN NO RELEASE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAIN NO RELEASE' at line 1 +ROLLBACK AND RELEASE CHAIN; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RELEASE CHAIN' at line 1 +ROLLBACK AND NO CHAIN NO RELEASE; +# +# End of 5.5 tests +# diff --git a/mysql-test/suite/innodb/r/innodb-semi-consistent.result b/mysql-test/suite/innodb/r/innodb-semi-consistent.result index ca0e362ef80..989cb818cec 100644 --- a/mysql-test/suite/innodb/r/innodb-semi-consistent.result +++ b/mysql-test/suite/innodb/r/innodb-semi-consistent.result @@ -13,6 +13,7 @@ set autocommit=0; update t1 set a=10 where a=5; ERROR HY000: Lock wait timeout exceeded; try restarting transaction commit; +commit; set session transaction isolation level read committed; update t1 set a=10 where a=5; select * from t1 where a=2 for update; diff --git a/mysql-test/suite/innodb/r/innodb_information_schema.result b/mysql-test/suite/innodb/r/innodb_information_schema.result index ad8729804df..1737dab2ff0 100644 --- a/mysql-test/suite/innodb/r/innodb_information_schema.result +++ b/mysql-test/suite/innodb/r/innodb_information_schema.result @@ -63,4 +63,4 @@ RUNNING 4 0 0 7 1 0 REPEATABLE READ 1 1 trx_isolation_level trx_unique_checks trx_foreign_key_checks SERIALIZABLE 0 0 trx_state trx_isolation_level trx_last_foreign_key_error -RUNNING SERIALIZABLE `test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c02`) REFERENCES `t1` (`c01`) +RUNNING REPEATABLE READ `test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c02`) REFERENCES `t1` (`c01`) diff --git a/mysql-test/suite/innodb/t/innodb-semi-consistent.test b/mysql-test/suite/innodb/t/innodb-semi-consistent.test index 61ad7815ca9..28bf532ff1f 100644 --- a/mysql-test/suite/innodb/t/innodb-semi-consistent.test +++ b/mysql-test/suite/innodb/t/innodb-semi-consistent.test @@ -23,6 +23,7 @@ set session transaction isolation level repeatable read; set autocommit=0; -- error ER_LOCK_WAIT_TIMEOUT update t1 set a=10 where a=5; +commit; connection a; commit; connection b; diff --git a/mysql-test/t/parser.test b/mysql-test/t/parser.test index 43d3abb0649..d477843b22b 100644 --- a/mysql-test/t/parser.test +++ b/mysql-test/t/parser.test @@ -733,78 +733,3 @@ DROP TABLE t1, t2, t3; --echo # End of 5.1 tests --echo # ---echo # Bug#46527 "COMMIT AND CHAIN RELEASE does not make sense" ---echo # ---error ER_PARSE_ERROR -COMMIT AND CHAIN RELEASE; - -COMMIT AND NO CHAIN RELEASE; -disconnect default; -connect(default, localhost, root,,); - -COMMIT RELEASE; -disconnect default; -connect(default, localhost, root,,); - ---error ER_PARSE_ERROR -COMMIT CHAIN RELEASE; - ---error ER_PARSE_ERROR -COMMIT NO CHAIN RELEASE; - ---error ER_PARSE_ERROR -COMMIT AND NO RELEASE; ---error ER_PARSE_ERROR -COMMIT AND RELEASE; - -COMMIT NO RELEASE; ---error ER_PARSE_ERROR -COMMIT CHAIN NO RELEASE; ---error ER_PARSE_ERROR -COMMIT NO CHAIN NO RELEASE; - ---error ER_PARSE_ERROR -COMMIT AND RELEASE CHAIN; - -COMMIT AND NO CHAIN NO RELEASE; - ---error ER_PARSE_ERROR -ROLLBACK AND CHAIN RELEASE; - -ROLLBACK AND NO CHAIN RELEASE; -disconnect default; -connect(default, localhost, root,,); - -ROLLBACK RELEASE; -disconnect default; -connect(default, localhost, root,,); - ---error ER_PARSE_ERROR -ROLLBACK CHAIN RELEASE; - ---error ER_PARSE_ERROR -ROLLBACK NO CHAIN RELEASE; -disconnect default; -connect(default, localhost, root,,); - ---error ER_PARSE_ERROR -ROLLBACK AND NO RELEASE; - ---error ER_PARSE_ERROR -ROLLBACK AND RELEASE; - -ROLLBACK NO RELEASE; - ---error ER_PARSE_ERROR -ROLLBACK CHAIN NO RELEASE; - ---error ER_PARSE_ERROR -ROLLBACK NO CHAIN NO RELEASE; ---error ER_PARSE_ERROR -ROLLBACK AND RELEASE CHAIN; - -ROLLBACK AND NO CHAIN NO RELEASE; - ---echo # ---echo # End of 5.5 tests ---echo # diff --git a/mysql-test/t/parser_not_embedded.test b/mysql-test/t/parser_not_embedded.test index 8ebeb9a8301..22e9ae5a140 100644 --- a/mysql-test/t/parser_not_embedded.test +++ b/mysql-test/t/parser_not_embedded.test @@ -24,3 +24,78 @@ EOF --exec $MYSQL --comment --force --table test <$MYSQLTEST_VARDIR/tmp/bug39559.sql --remove_file $MYSQLTEST_VARDIR/tmp/bug39559.sql +--echo # Bug#46527 "COMMIT AND CHAIN RELEASE does not make sense" +--echo # +--error ER_PARSE_ERROR +COMMIT AND CHAIN RELEASE; + +COMMIT AND NO CHAIN RELEASE; +disconnect default; +connect(default, localhost, root,,); + +COMMIT RELEASE; +disconnect default; +connect(default, localhost, root,,); + +--error ER_PARSE_ERROR +COMMIT CHAIN RELEASE; + +--error ER_PARSE_ERROR +COMMIT NO CHAIN RELEASE; + +--error ER_PARSE_ERROR +COMMIT AND NO RELEASE; +--error ER_PARSE_ERROR +COMMIT AND RELEASE; + +COMMIT NO RELEASE; +--error ER_PARSE_ERROR +COMMIT CHAIN NO RELEASE; +--error ER_PARSE_ERROR +COMMIT NO CHAIN NO RELEASE; + +--error ER_PARSE_ERROR +COMMIT AND RELEASE CHAIN; + +COMMIT AND NO CHAIN NO RELEASE; + +--error ER_PARSE_ERROR +ROLLBACK AND CHAIN RELEASE; + +ROLLBACK AND NO CHAIN RELEASE; +disconnect default; +connect(default, localhost, root,,); + +ROLLBACK RELEASE; +disconnect default; +connect(default, localhost, root,,); + +--error ER_PARSE_ERROR +ROLLBACK CHAIN RELEASE; + +--error ER_PARSE_ERROR +ROLLBACK NO CHAIN RELEASE; +disconnect default; +connect(default, localhost, root,,); + +--error ER_PARSE_ERROR +ROLLBACK AND NO RELEASE; + +--error ER_PARSE_ERROR +ROLLBACK AND RELEASE; + +ROLLBACK NO RELEASE; + +--error ER_PARSE_ERROR +ROLLBACK CHAIN NO RELEASE; + +--error ER_PARSE_ERROR +ROLLBACK NO CHAIN NO RELEASE; +--error ER_PARSE_ERROR +ROLLBACK AND RELEASE CHAIN; + +ROLLBACK AND NO CHAIN NO RELEASE; + +--echo # +--echo # End of 5.5 tests +--echo #