mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
a867561993
git-svn-id: file:///svn/mysql/tests/mysql-test@23633 c7de825b-a66e-492c-adef-691d508d4ae1
279 lines
4.2 KiB
Text
Executable file
279 lines
4.2 KiB
Text
Executable file
SET STORAGE_ENGINE = 'TokuDB';
|
|
DROP TABLE IF EXISTS t1;
|
|
set autocommit=0;
|
|
set session transaction isolation level repeatable read;
|
|
create table t1 (n int);
|
|
begin;
|
|
savepoint `my_savepoint`;
|
|
insert into t1 values (7);
|
|
savepoint `savept2`;
|
|
insert into t1 values (3);
|
|
select n from t1;
|
|
n
|
|
7
|
|
3
|
|
savepoint savept3;
|
|
rollback to savepoint savept2;
|
|
rollback to savepoint savept3;
|
|
ERROR 42000: SAVEPOINT savept3 does not exist
|
|
rollback to savepoint savept2;
|
|
release savepoint `my_savepoint`;
|
|
select n from t1;
|
|
n
|
|
7
|
|
rollback to savepoint `my_savepoint`;
|
|
ERROR 42000: SAVEPOINT my_savepoint does not exist
|
|
rollback to savepoint savept2;
|
|
ERROR 42000: SAVEPOINT savept2 does not exist
|
|
insert into t1 values (8);
|
|
savepoint sv;
|
|
commit;
|
|
savepoint sv;
|
|
set autocommit=1;
|
|
rollback;
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
insert into t1 values (2,20);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
savepoint b;
|
|
insert into t1 values (3,30);
|
|
rollback to savepoint a;
|
|
select * From t1;
|
|
a b
|
|
1 10
|
|
rollback;
|
|
select * from t1;
|
|
a b
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
insert into t1 values (2,20);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
savepoint b;
|
|
insert into t1 values (3,30);
|
|
release savepoint a;
|
|
select * From t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
3 30
|
|
rollback;
|
|
select * from t1;
|
|
a b
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
replace into t1 values (1,100);
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
savepoint b;
|
|
delete from t1 where a=1;
|
|
select * from t1;
|
|
a b
|
|
savepoint c;
|
|
update t1 set b=1000 where a=1;
|
|
select * from t1;
|
|
a b
|
|
rollback to savepoint c;
|
|
select * From t1;
|
|
a b
|
|
rollback to savepoint b;
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
rollback to savepoint a;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
rollback;
|
|
select * from t1;
|
|
a b
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
insert into t1 values (1,1);
|
|
select * from t1;
|
|
a b
|
|
1 1
|
|
begin;
|
|
replace into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
replace into t1 values (1,100);
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
savepoint b;
|
|
delete from t1 where a=1;
|
|
select * from t1;
|
|
a b
|
|
savepoint c;
|
|
update t1 set b=1000 where a=1;
|
|
select * from t1;
|
|
a b
|
|
rollback to savepoint c;
|
|
select * From t1;
|
|
a b
|
|
rollback to savepoint b;
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
rollback to savepoint a;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
rollback;
|
|
select * from t1;
|
|
a b
|
|
1 1
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
replace into t1 values (1,100);
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
savepoint b;
|
|
delete from t1 where a=1;
|
|
select * from t1;
|
|
a b
|
|
savepoint c;
|
|
insert into t1 values (2,20);
|
|
select * from t1;
|
|
a b
|
|
2 20
|
|
release savepoint c;
|
|
select * From t1;
|
|
a b
|
|
2 20
|
|
release savepoint b;
|
|
select * from t1;
|
|
a b
|
|
2 20
|
|
release savepoint a;
|
|
select * from t1;
|
|
a b
|
|
2 20
|
|
commit;
|
|
select * from t1;
|
|
a b
|
|
2 20
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
savepoint a;
|
|
replace into t1 values (1,100);
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
savepoint b;
|
|
delete from t1 where a=1;
|
|
select * from t1;
|
|
a b
|
|
savepoint c;
|
|
insert into t1 values (2,20);
|
|
select * from t1;
|
|
a b
|
|
2 20
|
|
release savepoint c;
|
|
select * From t1;
|
|
a b
|
|
2 20
|
|
rollback to savepoint b;
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
release savepoint a;
|
|
select * from t1;
|
|
a b
|
|
1 100
|
|
rollback;
|
|
select * from t1;
|
|
a b
|
|
drop table t1;
|
|
create table t1 (a int, b int, primary key (a));
|
|
begin;
|
|
insert into t1 values (1,10);
|
|
insert into t1 values (2,20);
|
|
savepoint a;
|
|
insert into t1 values (3,30),(4,40);
|
|
insert into t1 values (5,50),(6,60), (3,333), (7,70);
|
|
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
3 30
|
|
4 40
|
|
savepoint b;
|
|
insert ignore into t1 values (8,80),(1,100),(9,90);
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
3 30
|
|
4 40
|
|
8 80
|
|
9 90
|
|
rollback to savepoint b;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
3 30
|
|
4 40
|
|
rollback to savepoint a;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
insert into t1 value (10,100);
|
|
savepoint c;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
10 100
|
|
release savepoint a;
|
|
rollback to savepoint c;
|
|
ERROR 42000: SAVEPOINT c does not exist
|
|
commit;
|
|
select * from t1;
|
|
a b
|
|
1 10
|
|
2 20
|
|
10 100
|
|
drop table t1;
|