summaryrefslogtreecommitdiff
path: root/mysql-test/t/innodb_mysql.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/innodb_mysql.test')
-rw-r--r--mysql-test/t/innodb_mysql.test26
1 files changed, 26 insertions, 0 deletions
diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test
index a2a1113598d..0462536371e 100644
--- a/mysql-test/t/innodb_mysql.test
+++ b/mysql-test/t/innodb_mysql.test
@@ -536,4 +536,30 @@ DROP PROCEDURE p1;
DROP VIEW v1;
DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug #20837 Apparent change of isolation
+--echo # level during transaction
+--echo #
+
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+CREATE TABLE t1 (s1 INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1),(2);
+COMMIT;
+
+SET @@autocommit = 0;
+COMMIT;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+START TRANSACTION;
+SELECT * FROM t1;
+--echo Should be READ UNCOMMITTED
+SELECT @@tx_isolation;
+INSERT INTO t1 VALUES (-1);
+--echo Should be READ UNCOMMITTED
+SELECT @@tx_isolation;
+COMMIT;
+--echo Should now be REPEATABLE READ
+SELECT @@tx_isolation;
+DROP TABLE t1;
+
--echo End of 5.1 tests