mirror of
https://github.com/MariaDB/server.git
synced 2025-01-25 00:04:33 +01:00
0a6414ffe6
instead of autocommit. tests now pass. git-svn-id: file:///svn/mysql/tests/mysql-test@36839 c7de825b-a66e-492c-adef-691d508d4ae1
2290 lines
41 KiB
Text
2290 lines
41 KiB
Text
set session transaction isolation level serializable;
|
|
set session transaction isolation level serializable;
|
|
drop table if exists t;
|
|
create table t (a int primary key, b int) engine=tokudb;
|
|
insert ignore t values(1, 1);
|
|
insert ignore t values(2, 4);
|
|
insert ignore t values(3, 9);
|
|
insert ignore t values(4, 16);
|
|
insert ignore t values(5, 25);
|
|
insert ignore t values(6, 36);
|
|
set global tokudb_lock_timeout=0;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 1
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 4
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 9
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 16
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 1
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 1
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 1
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 1
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 1
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 1
|
|
2 4
|
|
3 9
|
|
4 16
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 1
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
select * from t where a>=0 and a<=3 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=6 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5 for update;
|
|
a b
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
select * from t where a>=3 and a<=6 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
update t set b=b where a>=0 and a<=3;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=3 and a<=6;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=5;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a>=0 and a<=3;
|
|
update t set b=b where a>=3 and a<=6;
|
|
update t set b=b where a<=2;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=6 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5 for update;
|
|
a b
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
select * from t where a>=3 and a<=6 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
update t set b=b where a>=0 and a<=3;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=3 and a<=6;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=5;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a>=0 and a<=3;
|
|
update t set b=b where a>=3 and a<=6;
|
|
update t set b=b where a<=2;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
set global tokudb_lock_timeout=500;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
select * from t where a=1 for update;
|
|
commit;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
update t set b=b where a=1;
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
insert ignore t values(1, 175);
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
replace t values(1, 175);
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
select * from t where a<=2 for update;
|
|
commit;
|
|
a b
|
|
1 175
|
|
2 100
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
update t set b=b where a<=2;
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a=1 for update;
|
|
commit;
|
|
a b
|
|
1 175
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a=1;
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
insert ignore t values(1, 175);
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
replace t values(1, 175);
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
select * from t where a<=2 for update;
|
|
commit;
|
|
a b
|
|
1 175
|
|
2 100
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a=1;
|
|
update t set b=b where a<=2;
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 175
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
select * from t where a=1 for update;
|
|
commit;
|
|
a b
|
|
1 175
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
update t set b=b where a=1;
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
insert ignore t values(1, 175);
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
replace t values(1, 175);
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
select * from t where a<=2 for update;
|
|
commit;
|
|
a b
|
|
1 175
|
|
2 100
|
|
begin;
|
|
insert ignore t values(1, 100);
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 175
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
insert ignore t values(1, 150);
|
|
update t set b=b where a<=2;
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
select * from t where a=1 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2 for update;
|
|
a b
|
|
2 100
|
|
select * from t where a=3 for update;
|
|
a b
|
|
3 100
|
|
select * from t where a=4 for update;
|
|
a b
|
|
4 100
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a=1 for update;
|
|
a b
|
|
1 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
select * from t where a=1 for update;
|
|
commit;
|
|
a b
|
|
1 150
|
|
begin;
|
|
replace t values(1, 100);
|
|
update t set b=b where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a=2;
|
|
update t set b=b where a=3;
|
|
update t set b=b where a=4;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a=1;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
update t set b=b where a=1;
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
insert ignore t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
insert ignore t values(2, 100);
|
|
insert ignore t values(3, 100);
|
|
insert ignore t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
insert ignore t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
insert ignore t values(1, 175);
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
replace t values(1, 100);
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
replace t values(2, 100);
|
|
replace t values(3, 100);
|
|
replace t values(4, 100);
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
replace t values(1, 100);
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
replace t values(1, 175);
|
|
commit;
|
|
begin;
|
|
replace t values(1, 100);
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=0 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>2 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
select * from t where a>=0 for update;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
select * from t where a<=2 for update;
|
|
commit;
|
|
a b
|
|
1 150
|
|
2 100
|
|
begin;
|
|
replace t values(1, 100);
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=0;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>2;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=2;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a<=2;
|
|
update t set b=b where a>=0;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 100
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
replace t values(1, 150);
|
|
update t set b=b where a<=2;
|
|
commit;
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
select * from t where a>=0 and a<=3 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=6 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5 for update;
|
|
a b
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
select * from t where a>=3 and a<=6 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 150
|
|
2 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
select * from t where a>=0 and a<=3 for update;
|
|
commit;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
update t set b=b where a>=0 and a<=3;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=3 and a<=6;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=5;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a>=0 and a<=3;
|
|
update t set b=b where a>=3 and a<=6;
|
|
update t set b=b where a<=2;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
select * from t where a>=2 and a<=4 for update;
|
|
a b
|
|
2 100
|
|
3 100
|
|
4 100
|
|
update t set b=b where a>=0 and a<=3;
|
|
commit;
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=6 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a<=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5 for update;
|
|
a b
|
|
5 25
|
|
6 36
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
select * from t where a>=3 and a<=6 for update;
|
|
a b
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
select * from t where a<=2 for update;
|
|
a b
|
|
1 150
|
|
2 100
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
select * from t where a>=0 and a<=3 for update;
|
|
commit;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
update t set b=b where a>=0 and a<=3;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=3 and a<=6;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a<=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t set b=b where a>=5;
|
|
begin;
|
|
select * from t;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=3 and a<=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t where a>=5;
|
|
a b
|
|
5 25
|
|
6 36
|
|
commit;
|
|
commit;
|
|
update t set b=b where a>=0 and a<=3;
|
|
update t set b=b where a>=3 and a<=6;
|
|
update t set b=b where a<=2;
|
|
begin;
|
|
select * from t;
|
|
a b
|
|
1 150
|
|
2 100
|
|
3 100
|
|
4 100
|
|
5 25
|
|
6 36
|
|
commit;
|
|
begin;
|
|
update t set b=b where a>=2 and a<=4;
|
|
update t set b=b where a>=0 and a<=3;
|
|
commit;
|
|
drop table t;
|
|
set global tokudb_lock_timeout=4000;
|