1
by brian
clean slate |
1 |
drop table if exists t1;
|
2 |
set session transaction isolation level read committed;
|
|
377.1.4
by Brian Aker
Big, fat, UTF-8 patch. This fixes some of the oddities around only one |
3 |
create table t1(a int not null) engine=innodb;
|
1
by brian
clean slate |
4 |
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
|
5 |
set autocommit=0;
|
|
6 |
select * from t1 where a=3 lock in share mode;
|
|
7 |
a
|
|
8 |
3
|
|
9 |
set session transaction isolation level read committed;
|
|
10 |
set autocommit=0;
|
|
11 |
update t1 set a=10 where a=5;
|
|
12 |
commit;
|
|
13 |
update t1 set a=10 where a=5;
|
|
14 |
select * from t1 where a=2 for update;
|
|
15 |
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
16 |
select * from t1 where a=2 limit 1 for update;
|
|
17 |
a
|
|
18 |
2
|
|
19 |
update t1 set a=11 where a=6;
|
|
20 |
update t1 set a=12 where a=2;
|
|
21 |
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
22 |
update t1 set a=13 where a=1;
|
|
23 |
commit;
|
|
24 |
update t1 set a=14 where a=1;
|
|
25 |
commit;
|
|
26 |
select * from t1;
|
|
27 |
a
|
|
933.1.4
by Monty Taylor
Changed the semi-consistent test. With innodb_locks_unsafe_for_binlog, the behavior is different here (no next-key-locking for us) |
28 |
13
|
1
by brian
clean slate |
29 |
2
|
30 |
3
|
|
31 |
4
|
|
32 |
10
|
|
33 |
11
|
|
34 |
7
|
|
35 |
drop table t1;
|