diff options
Diffstat (limited to 'mysql-test/r/commit.result')
-rw-r--r-- | mysql-test/r/commit.result | 128 |
1 files changed, 65 insertions, 63 deletions
diff --git a/mysql-test/r/commit.result b/mysql-test/r/commit.result index a62d2940d85..f2e012d4782 100644 --- a/mysql-test/r/commit.result +++ b/mysql-test/r/commit.result @@ -1,3 +1,4 @@ +connect con1,localhost,root,,; # # Bug#20837 Apparent change of isolation level # during transaction @@ -43,11 +44,11 @@ s1 2 -1 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; -connection con1 +connection con1; START TRANSACTION; INSERT INTO t1 VALUES (1000); COMMIT; -connection default +connection default; We should not be able to read the '1000' SELECT * FROM t1; s1 @@ -65,23 +66,23 @@ s1 1000 COMMIT; SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; -connection default +connection default; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; -connection con1 +connection con1; START TRANSACTION; INSERT INTO t1 VALUES (1001); COMMIT; -connection default +connection default; SELECT COUNT(*) FROM t1 WHERE s1 = 1001; COUNT(*) 1 Should be 1 COMMIT AND CHAIN; -connection con1 +connection con1; INSERT INTO t1 VALUES (1002); COMMIT; -connection default +connection default; SELECT COUNT(*) FROM t1 WHERE s1 = 1002; COUNT(*) 1 @@ -97,23 +98,23 @@ s1 1002 DELETE FROM t1 WHERE s1 >= 1000; COMMIT; -connection default +connection default; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; -connection con1 +connection con1; START TRANSACTION; INSERT INTO t1 VALUES (1001); COMMIT; -connection default +connection default; SELECT COUNT(*) FROM t1 WHERE s1 = 1001; COUNT(*) 1 Should be 1 ROLLBACK AND CHAIN; -connection con1 +connection con1; INSERT INTO t1 VALUES (1002); COMMIT; -connection default +connection default; SELECT COUNT(*) FROM t1 WHERE s1 = 1002; COUNT(*) 1 @@ -129,33 +130,33 @@ s1 DELETE FROM t1 WHERE s1 >= 1000; COMMIT; SET @@completion_type=1; -connection default +connection default; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; -connection con1 +connection con1; START TRANSACTION; INSERT INTO t1 VALUES (1001); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 Should see 1001 COMMIT AND NO CHAIN; default transaction is now in REPEATABLE READ -connection con1 +connection con1; INSERT INTO t1 VALUES (1002); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 1002 Should see 1001 and 1002 -connection con1 +connection con1; INSERT INTO t1 VALUES (1003); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 @@ -174,35 +175,35 @@ DELETE FROM t1 WHERE s1 >= 1000; COMMIT AND NO CHAIN; SET @@completion_type=0; COMMIT; -connection default +connection default; SET @@completion_type=1; COMMIT AND NO CHAIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; -connection con1 +connection con1; START TRANSACTION; INSERT INTO t1 VALUES (1001); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 Should see 1001 ROLLBACK AND NO CHAIN; default transaction is now in REPEATABLE READ -connection con1 +connection con1; INSERT INTO t1 VALUES (1002); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 1002 Should see 1001 and 1002 -connection con1 +connection con1; INSERT INTO t1 VALUES (1003); COMMIT; -connection default +connection default; SELECT * FROM t1 WHERE s1 >= 1000; s1 1001 @@ -221,7 +222,7 @@ DELETE FROM t1 WHERE s1 >= 1000; COMMIT AND NO CHAIN; SET @@completion_type=0; COMMIT; -connection default +connection default; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; START TRANSACTION; @@ -230,10 +231,10 @@ s1 1 2 -1 -connection con1 +connection con1; INSERT INTO t1 VALUES (1000); COMMIT; -connection default +connection default; SELECT * FROM t1; s1 1 @@ -253,10 +254,10 @@ SELECT * FROM t1; s1 1000 Should read '1000' -connection con1 +connection con1; INSERT INTO t1 VALUES (1001); COMMIT; -connection default +connection default; SELECT * FROM t1; s1 1000 @@ -266,6 +267,7 @@ SET @@completion_type=0; COMMIT AND NO CHAIN; SET @@autocommit=1; COMMIT; +disconnect con1; DROP TABLE t1; # # End of test cases for Bug#20837 @@ -337,54 +339,54 @@ CREATE TEMPORARY TABLE temp_t2(a INT); SET SESSION TRANSACTION READ ONLY; # 1: DDL should be blocked, also on temporary tables. CREATE TABLE t3(a INT); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction ALTER TABLE t1 COMMENT "Test"; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DROP TABLE t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CREATE TEMPORARY TABLE temp_t3(a INT); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction ALTER TABLE temp_t2 COMMENT "Test"; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DROP TEMPORARY TABLE temp_t2; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CREATE FUNCTION f1() RETURNS INT RETURN 1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DROP FUNCTION f1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CREATE PROCEDURE p1() BEGIN END; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DROP PROCEDURE p1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CREATE VIEW v1 AS SELECT 1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction SET SESSION TRANSACTION READ WRITE; CREATE VIEW v1 AS SELECT 1; SET SESSION TRANSACTION READ ONLY; DROP VIEW v1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction SET SESSION TRANSACTION READ WRITE; DROP VIEW v1; SET SESSION TRANSACTION READ ONLY; RENAME TABLE t1 TO t2; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction RENAME TABLE temp_t2 TO temp_t3; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction TRUNCATE TABLE t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CREATE DATABASE db1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DROP DATABASE db1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction SET SESSION TRANSACTION READ WRITE; # 2: DML should be blocked on non-temporary tables. START TRANSACTION READ ONLY; INSERT INTO t1 VALUES (1), (2); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction UPDATE t1 SET a= 3; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction # 3: DML should be allowed on temporary tables. INSERT INTO temp_t2 VALUES (1), (2); UPDATE temp_t2 SET a= 3; @@ -404,7 +406,7 @@ a HANDLER temp_t2 CLOSE; # 5: Prepared statements PREPARE stmt FROM "DELETE FROM t1"; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction PREPARE stmt FROM "DELETE FROM temp_t2"; EXECUTE stmt; DEALLOCATE PREPARE stmt; @@ -424,12 +426,12 @@ CREATE PROCEDURE p1() DELETE FROM t1; CREATE PROCEDURE p2() DELETE FROM temp_t2; START TRANSACTION READ ONLY; SELECT f1(); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction SELECT f2(); f2() 1 CALL p1(); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction CALL p2(); COMMIT; DROP FUNCTION f1; @@ -440,7 +442,7 @@ DROP PROCEDURE p2; CREATE VIEW v1 AS SELECT a FROM t1; START TRANSACTION READ ONLY; INSERT INTO v1 VALUES (1), (2); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction SELECT * FROM v1; a COMMIT; @@ -448,7 +450,7 @@ DROP VIEW v1; # 8: LOCK TABLE SET SESSION TRANSACTION READ ONLY; LOCK TABLE t1 WRITE; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction LOCK TABLE t1 READ; UNLOCK TABLES; SET SESSION TRANSACTION READ WRITE; @@ -459,7 +461,7 @@ CREATE TABLE t1(a INT); SET SESSION TRANSACTION READ ONLY; START TRANSACTION; DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction COMMIT; START TRANSACTION READ WRITE; DELETE FROM t1; @@ -468,7 +470,7 @@ SET SESSION TRANSACTION READ WRITE; SET TRANSACTION READ ONLY; START TRANSACTION; DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction COMMIT; START TRANSACTION READ WRITE; DELETE FROM t1; @@ -478,14 +480,14 @@ SELECT * FROM t1; a COMMIT AND CHAIN; DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction COMMIT; START TRANSACTION READ ONLY; SELECT * FROM t1; a ROLLBACK AND CHAIN; DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction COMMIT; DROP TABLE t1; # @@ -510,11 +512,11 @@ CREATE TABLE t1(a INT); SET TRANSACTION READ ONLY; XA START 'test1'; INSERT INTO t1 VALUES (1); -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction UPDATE t1 SET a=2; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction DELETE FROM t1; -ERROR 25006: Cannot execute statement in a READ ONLY transaction. +ERROR 25006: Cannot execute statement in a READ ONLY transaction XA END 'test1'; XA PREPARE 'test1'; XA COMMIT 'test1'; |