mark some file to been opensource for ce-farm
This commit is contained in:
@ -0,0 +1,440 @@
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
drop table if exists t1;
|
||||
create table t1(pk int primary key, c1 int);
|
||||
set autocommit=0;
|
||||
set autocommit=0;
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
update t1 set c1=c1+1 where pk=1;
|
||||
select * from t1;
|
||||
pk c1
|
||||
2 2
|
||||
insert into t1 values(2,2);
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
update t1 set c1=c1+2 where pk=2;
|
||||
commit;
|
||||
select * from t1;
|
||||
pk c1
|
||||
1 1
|
||||
2 4
|
||||
commit;
|
||||
@ -0,0 +1,66 @@
|
||||
set global ob_max_read_stale_time = -1;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time -1
|
||||
set @@session.ob_max_read_stale_time = -1;
|
||||
select @@session.ob_max_read_stale_time;
|
||||
@@session.ob_max_read_stale_time
|
||||
-1
|
||||
set global ob_max_read_stale_time = -1;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time -1
|
||||
alter system set weak_read_version_refresh_interval="6s";
|
||||
alter system set weak_read_version_refresh_interval="3s";
|
||||
set global ob_max_read_stale_time = -1;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time -1
|
||||
set @@session.ob_max_read_stale_time = -1;
|
||||
select @@session.ob_max_read_stale_time;
|
||||
@@session.ob_max_read_stale_time
|
||||
-1
|
||||
alter system set weak_read_version_refresh_interval="6s";
|
||||
alter system set weak_read_version_refresh_interval="3s";
|
||||
set global ob_max_read_stale_time = 5000000;
|
||||
set @@session.ob_max_read_stale_time = 5000000;
|
||||
alter system set weak_read_version_refresh_interval="8s";
|
||||
ERROR HY000: Incorrect arguments to weak_read_version_refresh_interval is larger than ob_max_read_stale_time
|
||||
alter system set weak_read_version_refresh_interval="1s";
|
||||
set global ob_max_read_stale_time = 2000000;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time 2000000
|
||||
alter system set weak_read_version_refresh_interval="3s";
|
||||
ERROR HY000: Incorrect arguments to weak_read_version_refresh_interval is larger than ob_max_read_stale_time
|
||||
set global ob_max_read_stale_time = 5000000;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time 5000000
|
||||
alter system set weak_read_version_refresh_interval="3s";
|
||||
set global ob_max_read_stale_time = 3000000;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time 3000000
|
||||
alter system set weak_read_version_refresh_interval="4s";
|
||||
ERROR HY000: Incorrect arguments to weak_read_version_refresh_interval is larger than ob_max_read_stale_time
|
||||
alter system set weak_read_version_refresh_interval="3001ms";
|
||||
ERROR HY000: Incorrect arguments to weak_read_version_refresh_interval is larger than ob_max_read_stale_time
|
||||
alter system set weak_read_version_refresh_interval="3000ms";
|
||||
set global ob_max_read_stale_time = -1;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time -1
|
||||
alter system set weak_read_version_refresh_interval="4999ms";
|
||||
alter system set weak_read_version_refresh_interval="100ms";
|
||||
set global ob_max_read_stale_time = 100000;
|
||||
set global ob_max_read_stale_time = 99999;
|
||||
ERROR HY000: Incorrect arguments to max_read_stale_time is smaller than weak_read_version_refresh_interval
|
||||
set @@session.ob_max_read_stale_time = 100000;
|
||||
set @@session.ob_max_read_stale_time = 99999;
|
||||
ERROR HY000: Incorrect arguments to max_read_stale_time is smaller than weak_read_version_refresh_interval
|
||||
set global ob_max_read_stale_time = 5000000;
|
||||
set @@session.ob_max_read_stale_time = 5000000;
|
||||
show global variables like '%stale_time%';
|
||||
Variable_name Value
|
||||
ob_max_read_stale_time 5000000
|
||||
@ -0,0 +1,355 @@
|
||||
change mysql tenant primary_zone from zone1;zone2 to RANDOM
|
||||
alter tenant mysql set primary_zone = 'RANDOM';
|
||||
drop table if exists t;
|
||||
create table t(id int primary key) partition by range(id)
|
||||
(partition p0 values less than (10000), partition p1 values less than (3000000000));
|
||||
"-------------- 1 - basic in txn free route -----------------"
|
||||
set autocommit=1;
|
||||
"CASE 1.1"
|
||||
begin;
|
||||
insert into t values(10);
|
||||
insert into t values(10001);
|
||||
rollback;
|
||||
select "txn rollback atomic", count(1) from t where id in (10,10001);
|
||||
txn rollback atomic count(1)
|
||||
txn rollback atomic 0
|
||||
begin;
|
||||
insert into t values(10002);
|
||||
insert into t values(11);
|
||||
commit;
|
||||
select "txn commit atomic", count(2) from t where id in (11,10002);
|
||||
txn commit atomic count(2)
|
||||
txn commit atomic 2
|
||||
"CASE 1.2"
|
||||
begin;
|
||||
insert into t values(20);
|
||||
insert into t values(10003);
|
||||
"implicit commit prev txn and start new one"
|
||||
begin;
|
||||
insert into t values(10004);
|
||||
begin;
|
||||
commit;
|
||||
"------------- 2 - implicit start txn ----------------------"
|
||||
"CASE 2.1"
|
||||
set autocommit=0;
|
||||
insert into t values(12);
|
||||
insert into t values(1000000003);
|
||||
rollback;
|
||||
select "implicit txn rollback atomic", count(1) from t where id in (12,1000000003);
|
||||
implicit txn rollback atomic count(1)
|
||||
implicit txn rollback atomic 0
|
||||
insert into t values(1000000004);
|
||||
insert into t values(13);
|
||||
commit;
|
||||
select "implicit txn commit atomic", count(1) from t where id in (13,1000000004);
|
||||
implicit txn commit atomic count(1)
|
||||
implicit txn commit atomic 2
|
||||
"CASE 2.2"
|
||||
set autocommit=0;
|
||||
insert into t values(14);
|
||||
select * from t where id = 1000000003;
|
||||
id
|
||||
select * from t where id = 14;
|
||||
id
|
||||
14
|
||||
select * from t where id = 1000000004;
|
||||
id
|
||||
1000000004
|
||||
rollback;
|
||||
"------------- 3 - serializable read only txn ----------------------"
|
||||
set autocommit=0;
|
||||
"CASE 3.1"
|
||||
set session transaction isolation level serializable;
|
||||
select * from t where id = 14;
|
||||
id
|
||||
select * from t where id = 1000000005;
|
||||
id
|
||||
commit;
|
||||
"commit a txn to promise max commit ts was advanced"
|
||||
set autocommit=0;
|
||||
insert into t values(100),(20000);
|
||||
delete from t where id in (100,20000);
|
||||
commit;
|
||||
"continue second read only txn"
|
||||
select * from t where id = 1000000006;
|
||||
id
|
||||
select * from t where id = 15;
|
||||
id
|
||||
commit;
|
||||
"CASE 3.2"
|
||||
select * from t where id = 16;
|
||||
id
|
||||
insert into t values(10000016);
|
||||
commit;
|
||||
"CASE 3.3"
|
||||
select * from t where id = 17;
|
||||
id
|
||||
select * from t where id = 10000017;
|
||||
id
|
||||
insert into t values(18);
|
||||
commit;
|
||||
"CASE 3.4"
|
||||
insert into t values(19);
|
||||
select * from t where id = 10000018;
|
||||
id
|
||||
commit;
|
||||
"recovery isolation level to RC"
|
||||
set session transaction isolation level read committed;
|
||||
"------------- 4 - savepoint leading txn ----------------------"
|
||||
set autocommit=0;
|
||||
"CASE 4.1"
|
||||
savepoint sp0;
|
||||
select * from t where id = 105;
|
||||
id
|
||||
select * from t where id = 1000005;
|
||||
id
|
||||
savepoint sp1;
|
||||
"CASE 4.2"
|
||||
set session transaction isolation level SERIALIZABLE;
|
||||
select * from t where id = 1000006;
|
||||
id
|
||||
"CASE 4.3"
|
||||
select * from t where id = 101;
|
||||
id
|
||||
insert into t values(1000006);
|
||||
savepoint sp2;
|
||||
insert into t values(1000007);
|
||||
insert into t values(1007);
|
||||
select * from t where id in (1007, 1000007, 1000006) order by id asc;
|
||||
id
|
||||
1007
|
||||
1000006
|
||||
1000007
|
||||
"CASE 4.4"
|
||||
rollback to sp2;
|
||||
select * from t where id in (1007, 1000007, 1000006) order by id asc;
|
||||
id
|
||||
1000006
|
||||
commit;
|
||||
"CASE 4.5"
|
||||
savepoint sp3;
|
||||
select * from t where id = 106;
|
||||
id
|
||||
select * from t where id = 1000007;
|
||||
id
|
||||
commit;
|
||||
"CASE 4.6"
|
||||
begin;
|
||||
insert into t values(108);
|
||||
insert into t values(1000008);
|
||||
commit;
|
||||
"CASE 4.7"
|
||||
savepoint sp4;
|
||||
select * from t where id = 109;
|
||||
id
|
||||
select * from t where id = 1000009;
|
||||
id
|
||||
commit;
|
||||
"CASE 4.8"
|
||||
savepoint sp5;
|
||||
select * from t where id = 110;
|
||||
id
|
||||
select * from t where id = 1000010;
|
||||
id
|
||||
commit;
|
||||
"------------- 5 - change session auto_commit ----------------------"
|
||||
"CASE 5.1"
|
||||
delete from t;
|
||||
commit;
|
||||
set autocommit=0;
|
||||
insert into t values(100);
|
||||
insert into t values(1000001);
|
||||
set autocommit=1;
|
||||
insert into t values(1000002);
|
||||
set autocommit=0;
|
||||
insert into t values(200);
|
||||
insert into t values(1000003);
|
||||
select * from t order by id asc;
|
||||
id
|
||||
100
|
||||
200
|
||||
1000001
|
||||
1000002
|
||||
1000003
|
||||
rollback;
|
||||
select * from t order by id asc;
|
||||
id
|
||||
100
|
||||
1000001
|
||||
1000002
|
||||
"CASE 5.2"
|
||||
begin;
|
||||
insert into t values(300);
|
||||
insert into t values(1000004);
|
||||
commit;
|
||||
set autocommit=1;
|
||||
select * from t where id = 1000004;
|
||||
id
|
||||
1000004
|
||||
"CASE 5.3"
|
||||
select * from t where id = 1;
|
||||
id
|
||||
set autocommit=0;
|
||||
savepoint s52;
|
||||
insert into t values(1000005);
|
||||
set autocommit=1;
|
||||
rollback to s52;
|
||||
ERROR 42000: savepoint does not exist
|
||||
select * from t where id = 1000005;
|
||||
id
|
||||
1000005
|
||||
"------------- 6 - switch on/off ----------------------"
|
||||
"CASE 6.1"
|
||||
connection conn1
|
||||
alter system set _enable_transaction_internal_routing = false;
|
||||
drop view if exists check__enable_transaction_internal_routing;
|
||||
create view check__enable_transaction_internal_routing as select Value from oceanbase.gv$ob_parameters where name = '_enable_transaction_internal_routing';
|
||||
commit;
|
||||
delete from t;
|
||||
commit;
|
||||
set autocommit=0;
|
||||
insert into t values(1);
|
||||
insert into t values(10001);
|
||||
select * from t where id = 1;
|
||||
id
|
||||
1
|
||||
select * from t where id = 10001;
|
||||
id
|
||||
10001
|
||||
commit;
|
||||
"CASE 6.2"
|
||||
insert into t values(2);
|
||||
alter system set _enable_transaction_internal_routing = true;
|
||||
insert into t values(10002);
|
||||
select * from t where id = 2;
|
||||
id
|
||||
2
|
||||
select * from t where id = 10002;
|
||||
id
|
||||
10002
|
||||
commit;
|
||||
insert into t values(3);
|
||||
insert into t values(10003);
|
||||
select * from t where id = 3;
|
||||
id
|
||||
3
|
||||
select * from t where id = 10003;
|
||||
id
|
||||
10003
|
||||
commit;
|
||||
"CASE 6.3"
|
||||
insert into t values(4);
|
||||
alter system set _enable_transaction_internal_routing = false;
|
||||
insert into t values(10004);
|
||||
select * from t where id = 4;
|
||||
id
|
||||
4
|
||||
select * from t where id = 10004;
|
||||
id
|
||||
10004
|
||||
commit;
|
||||
insert into t values(5);
|
||||
insert into t values(10005);
|
||||
select * from t where id = 5;
|
||||
id
|
||||
5
|
||||
select * from t where id = 10005;
|
||||
id
|
||||
10005
|
||||
commit;
|
||||
"reset _enable_transaction_internal_routing=true"
|
||||
alter system set _enable_transaction_internal_routing = true;
|
||||
"------------- 6 - in txn DDL ----------------------"
|
||||
delete from t;
|
||||
commit;
|
||||
begin;
|
||||
insert into t values(1);
|
||||
insert into t values(10001);
|
||||
create table tx(id int);
|
||||
select * from t where id in (1, 10001) order by id asc;
|
||||
id
|
||||
1
|
||||
10001
|
||||
drop table tx;
|
||||
"------------- 7 - multi-stmt route ----------------------"
|
||||
delete from t;
|
||||
commit;
|
||||
begin /
|
||||
insert into t values(1) /
|
||||
insert into t values(10001);insert into t values(10002);/
|
||||
insert into t values(10003) /
|
||||
select * from t order by id asc /
|
||||
id
|
||||
1
|
||||
10001
|
||||
10002
|
||||
10003
|
||||
"------------- 8 - sync session var set autocommit=1 ----------------------"
|
||||
delete from t;
|
||||
commit;
|
||||
set global autocommit=0;
|
||||
"CASE 8.1"
|
||||
select * from t where id = 1;
|
||||
id
|
||||
set autocommit=1;
|
||||
begin;
|
||||
insert into t values(1);
|
||||
insert into t values(10001);
|
||||
rollback;
|
||||
select * from t order by id asc;
|
||||
id
|
||||
"CASE 8.2"
|
||||
begin;
|
||||
insert into t values(2);
|
||||
insert into t values(10002);
|
||||
set autocommit=1;
|
||||
rollback;
|
||||
select * from t order by id asc;
|
||||
id
|
||||
2
|
||||
10002
|
||||
set global autocommit=1;
|
||||
"------------- 9 - error-packet caused proxy duplicate sync etc ----------------------"
|
||||
delete from t;
|
||||
commit;
|
||||
begin;
|
||||
insert into t values(1);
|
||||
insert into t values(10001,1);
|
||||
ERROR 21S01: Column count doesn't match value count at row 1
|
||||
insert into t values(10001);
|
||||
insert into t values(2, 1);
|
||||
ERROR 21S01: Column count doesn't match value count at row 1
|
||||
update t set id = id + 1 where id = 10002;
|
||||
insert into t values(2);
|
||||
select * from t order by id asc;
|
||||
id
|
||||
1
|
||||
2
|
||||
10001
|
||||
commit;
|
||||
select * from t order by id asc;
|
||||
id
|
||||
1
|
||||
2
|
||||
10001
|
||||
"------------- 10 - readonly tx with serializable snapshot swtich txn----------------------"
|
||||
delete from t;
|
||||
commit;
|
||||
drop outline tx_route_test_ot_4;
|
||||
create outline tx_route_test_ot_4 on select * from (select * FROM t) a left join t b on a.id = b.id;
|
||||
set session transaction ISOLATION LEVEL SERIALIZABLE;
|
||||
set autocommit = 0;
|
||||
select * from t where id = 1;
|
||||
id
|
||||
select * from t where id = 10001;
|
||||
id
|
||||
create outline tx_route_test_ot_4 on select * from (select * FROM t) a left join t b on a.id = b.id;
|
||||
ERROR HY000: Outline 'tx_route_test_ot_4' already exists
|
||||
select * from t where id = 10001;
|
||||
id
|
||||
drop outline tx_route_test_ot_4;
|
||||
"------------- X - special query types ----------------------"
|
||||
"CLEANUP"
|
||||
drop table t;
|
||||
recovery primary_zone settings for mysql tenant to : zone1;zone2
|
||||
alter tenant mysql set primary_zone = "zone1;zone2";
|
||||
Reference in New Issue
Block a user