summaryrefslogtreecommitdiff
path: root/mysql-test/t/bdb.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/bdb.test')
-rw-r--r--mysql-test/t/bdb.test47
1 files changed, 47 insertions, 0 deletions
diff --git a/mysql-test/t/bdb.test b/mysql-test/t/bdb.test
index d2e3ca5f36e..63ef6ee6528 100644
--- a/mysql-test/t/bdb.test
+++ b/mysql-test/t/bdb.test
@@ -147,6 +147,32 @@ insert into t1 values (6);
-- error 1062
insert into t1 values (4);
select n from t1;
+set autocommit=0;
+#
+# savepoints
+#
+begin;
+savepoint `my_savepoint`;
+insert into t1 values (7);
+savepoint `savept2`;
+insert into t1 values (3);
+select n from t1;
+savepoint savept3;
+rollback to savepoint savept2;
+--error 1305
+rollback to savepoint savept3;
+rollback to savepoint savept2;
+release savepoint `my_savepoint`;
+select n from t1;
+-- error 1305
+rollback to savepoint `my_savepoint`;
+--error 1305
+rollback to savepoint savept2;
+insert into t1 values (8);
+savepoint sv;
+commit;
+savepoint sv;
+set autocommit=1;
# nop
rollback;
drop table t1;
@@ -1055,3 +1081,24 @@ set autocommit=0;
--echo End of 5.0 tests
+
+#
+# Bug #7955: SET TRANSACTION ISIOLATION LEVEL lives longer than next
+# transaciton
+#
+create table t1 (a int) engine=bdb;
+set session transaction isolation level repeatable read;
+set transaction isolation level serializable;
+begin;
+select @@tx_isolation;
+insert into t1 values (1);
+--error ER_CANT_CHANGE_TX_ISOLATION
+set transaction isolation level read committed;
+rollback;
+begin;
+select @@tx_isolation;
+insert into t1 values (1);
+rollback;
+drop table t1;
+
+--echo End of 5.1 tests