diff --git a/test/cases/transaction/autocommit.test b/test/cases/transaction/autocommit.test new file mode 100644 index 0000000000000000000000000000000000000000..4f249a47943354d543bed03e8dcc42b332d8ab1a --- /dev/null +++ b/test/cases/transaction/autocommit.test @@ -0,0 +1,49 @@ +-- @bvt:issue#3364 +set autocommit=1; +create table t1(a int); +start transaction; +insert into t1 values(1); +start transaction; +select * from t1; +insert into t1 values(2); +select * from t1; +rollback; +select * from t1; +start transaction; +create table t2(a int); +insert into t2(1); +rollback; +select * from t2; +start transaction; +use autocommit; +start transactions; +drop table t1; +commit; +start transactions; +set autocommit=1; +commit; +start transactions; +show tables; +commit; +set autocommit=0; +drop table if exists t1; +create table t1(a int); +insert into t1 values(1); +rollback; +select * from t1; +insert into t1 values(1); +insert into t1 values(2); +set autocommit=1; +commit; +set autocommit=1; +set autocommit=0; +select * from t1; +insert into t1 values(3); +create table t2 (a int); +rollback; +select * from t2; +insert into t1 values(3); +use autocommit; +show tables; +commit; +-- @bvt:issue diff --git a/test/result/transaction/autocommit.result b/test/result/transaction/autocommit.result new file mode 100644 index 0000000000000000000000000000000000000000..27e4022b38a586b4ae0eb123ca36fbeefb16ac6a --- /dev/null +++ b/test/result/transaction/autocommit.result @@ -0,0 +1,66 @@ +set autocommit=1; +create table t1(a int); +start transaction; +insert into t1 values(1); +start transaction; +select * from t1; +a +1 +insert into t1 values(2); +select * from t1; +a +1 +2 +rollback; +select * from t1; +a +1 +start transaction; +create table t2(a int); +insert into t2(1); +rollback; +select * from t2; +table "t2" does not exist +start transaction; +use autocommit; +start transactions; +drop table t1; +Only CREATE of DDL is supported in transactions +commit; +start transactions; +set autocommit=1; +Parameters modification is unsupported in transactions +commit; +start transactions; +show tables; +tables_in_autocommit +t1 +commit; +set autocommit=0; +drop table if exists t1; +create table t1(a int); +insert into t1 values(1); +rollback; +select * from t1; +a +insert into t1 values(1); +insert into t1 values(2); +set autocommit=1; +Uncommmited transaction exists. Please commit or rollback first. +commit; +set autocommit=1; +set autocommit=0; +select * from t1; +a +1 +2 +insert into t1 values(3); +create table t2 (a int); +rollback; +select * from t2; +a +insert into t1 values(3); +explain select * from t1; +use autocommit; +show tables; +commit;