SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
SET SESSION STORAGE_ENGINE = InnoDB;
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",1);
get_lock("hello",1)
1
begin;
 update t1 set eta=1+get_lock("hello",1)*0 where tipo=11;
begin;
update t1 set eta=2 where tipo=22;
select release_lock("hello");
release_lock("hello")
1
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
2	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
1	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
2	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
2	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
1	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
2	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
1	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
2	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
1	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
0
begin;
 update t1 set eta=1+get_lock("hello",10)*0 where tipo=1;
begin;
update t1 set tipo=1 where tipo=2;
select release_lock("hello");
release_lock("hello")
0
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	1	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	1	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	1	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
1	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
1	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
1	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
1	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	1	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	1	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	1	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	1	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	1	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	1	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
1	1	ccccccccccccccccccccccccccccccccccccccccccc
20	1	ddddddddddddddddddddddddddddddddddddddddddd
1	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	1	fffffffffffffffffffffffffffffffffffffffffff
1	1	ggggggggggggggggggggggggggggggggggggggggggg
60	1	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
1	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
1	1	ccccccccccccccccccccccccccccccccccccccccccc
20	1	ddddddddddddddddddddddddddddddddddddddddddd
1	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	1	fffffffffffffffffffffffffffffffffffffffffff
1	1	ggggggggggggggggggggggggggggggggggggggggggg
60	1	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
1	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1 (a int not null, b int not null);
insert into t1 values (1,1),(2,1),(3,1),(4,1);
select get_lock("hello2",1000);
get_lock("hello2",1000)
1
begin;
 update t1 set b=10+get_lock(concat("hello",a),1000)*0 where
a=2;
insert into t1 values (1,1);
select release_lock("hello2");
release_lock("hello2")
1
select * from t1;
a	b
1	1
2	1
3	1
4	1
1	1
select * from t1;
a	b
1	1
2	10
3	1
4	1
1	1
 commit;
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
1
begin;
 select * from t1 where tipo=2 FOR UPDATE;
begin;
select release_lock("hello");
release_lock("hello")
1
update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
eta	tipo	c
20	2	ddddddddddddddddddddddddddddddddddddddddddd
40	2	fffffffffffffffffffffffffffffffffffffffffff
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
1
begin;
 select * from t1 where tipo=2 FOR UPDATE;
begin;
select release_lock("hello");
release_lock("hello")
1
update t1 set tipo=11+get_lock("hello",10)*0 where tipo=22;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
eta	tipo	c
20	2	ddddddddddddddddddddddddddddddddddddddddddd
40	2	fffffffffffffffffffffffffffffffffffffffffff
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
1
begin;
 select * from t1 where tipo=2 FOR UPDATE;
begin;
select release_lock("hello");
release_lock("hello")
1
select * from t1 where tipo=1 FOR UPDATE;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
eta	tipo	c
20	2	ddddddddddddddddddddddddddddddddddddddddddd
40	2	fffffffffffffffffffffffffffffffffffffffffff
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
1
begin;
 delete from t1 where tipo=2;
begin;
select release_lock("hello");
release_lock("hello")
1
update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
create table t1(eta int(11) not null, tipo int(11), c varchar(255));
insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
select get_lock("hello",10);
get_lock("hello",10)
1
begin;
 delete from t1 where tipo=2;
begin;
select release_lock("hello");
release_lock("hello")
1
update t1 set tipo=1+get_lock("hello",10)*0 where tipo=22;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
20	2	ddddddddddddddddddddddddddddddddddddddddddd
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
40	2	fffffffffffffffffffffffffffffffffffffffffff
50	1	ggggggggggggggggggggggggggggggggggggggggggg
60	2	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	1	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	22	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 commit;
commit;
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	1	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
select * from t1;
eta	tipo	c
7	7	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8	8	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
10	1	ccccccccccccccccccccccccccccccccccccccccccc
30	1	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
50	1	ggggggggggggggggggggggggggggggggggggggggggg
70	1	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
80	1	jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
90	11	kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
drop table t1;
