diff options
Diffstat (limited to 'mysql-test/t/bdb.test')
-rw-r--r-- | mysql-test/t/bdb.test | 47 |
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 |