summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Kodinov <joro@sun.com>2009-12-01 11:19:51 +0200
committerGeorgi Kodinov <joro@sun.com>2009-12-01 11:19:51 +0200
commit0852721dbe3f836995446475e0a8d1ce784315a0 (patch)
tree817f6123e288df9996347a25c8cc2a29b32d9839
parentce449a7f80fa7cc9e8cb9cf5f0baa152ef094bf0 (diff)
downloadmariadb-git-0852721dbe3f836995446475e0a8d1ce784315a0.tar.gz
Revert of the push of bug #20837 due to failing regression tests.
-rw-r--r--mysql-test/r/innodb_mysql.result31
-rw-r--r--mysql-test/t/innodb_mysql.test26
-rw-r--r--sql/handler.cc10
3 files changed, 2 insertions, 65 deletions
diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result
index 2d93cbb47b3..402ab3c1b16 100644
--- a/mysql-test/r/innodb_mysql.result
+++ b/mysql-test/r/innodb_mysql.result
@@ -2273,35 +2273,4 @@ END|
DROP PROCEDURE p1;
DROP VIEW v1;
DROP TABLE t1,t2;
-#
-# Bug #20837 Apparent change of isolation
-# level during transaction
-#
-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;
-s1
-1
-2
-Should be READ UNCOMMITTED
-SELECT @@tx_isolation;
-@@tx_isolation
-READ-UNCOMMITTED
-INSERT INTO t1 VALUES (-1);
-Should be READ UNCOMMITTED
-SELECT @@tx_isolation;
-@@tx_isolation
-READ-UNCOMMITTED
-COMMIT;
-Should now be REPEATABLE READ
-SELECT @@tx_isolation;
-@@tx_isolation
-REPEATABLE-READ
-DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test
index 0462536371e..a2a1113598d 100644
--- a/mysql-test/t/innodb_mysql.test
+++ b/mysql-test/t/innodb_mysql.test
@@ -536,30 +536,4 @@ 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
diff --git a/sql/handler.cc b/sql/handler.cc
index f6cdaca05bd..216228ed509 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -1369,14 +1369,8 @@ int ha_autocommit_or_rollback(THD *thd, int error)
if (thd->transaction_rollback_request && !thd->in_sub_stmt)
(void) ha_rollback(thd);
}
- }
- else if (!(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)))
- {
- /*
- If we're in autocommit mode, reset tx_isolation
- to the default value
- */
- thd->variables.tx_isolation= thd->session_tx_isolation;
+
+ thd->variables.tx_isolation=thd->session_tx_isolation;
}
#endif
DBUG_RETURN(error);