mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
29f0dcb563
* Finished Monty and Jani's merge * Some InnoDB tests still fail (because it's old xtradb code run against newer testsuite). They are expected to go after mergning with the latest xtradb.
47 lines
1.3 KiB
Text
47 lines
1.3 KiB
Text
drop table if exists t1,t2;
|
|
set binlog_format=mixed;
|
|
set session transaction isolation level repeatable read;
|
|
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
|
|
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
|
|
set autocommit=0;
|
|
select * from t1 where a=3 lock in share mode;
|
|
a
|
|
3
|
|
set binlog_format=mixed;
|
|
set session transaction isolation level repeatable read;
|
|
set autocommit=0;
|
|
update t1 set a=10 where a=5;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
commit;
|
|
set session transaction isolation level read committed;
|
|
update t1 set a=10 where a=5;
|
|
select * from t1 where a=2 for update;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
select * from t1 where a=2 limit 1 for update;
|
|
a
|
|
2
|
|
update t1 set a=11 where a=6;
|
|
update t1 set a=12 where a=2;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
update t1 set a=13 where a=1;
|
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
|
commit;
|
|
update t1 set a=14 where a=1;
|
|
commit;
|
|
select * from t1;
|
|
a
|
|
14
|
|
2
|
|
3
|
|
4
|
|
10
|
|
11
|
|
7
|
|
drop table t1;
|
|
create table t1 (a int, b int) engine=myisam;
|
|
create table t2 (c int, d int, key (c)) engine=innodb;
|
|
insert into t1 values (1,1);
|
|
insert into t2 values (1,2);
|
|
set session transaction isolation level read committed;
|
|
delete from t1 using t1 join t2 on t1.a = t2.c where t2.d in (1);
|
|
drop table t1, t2;
|