📄 innodb_unsafe_binlog.test
字号:
-- source include/have_innodb.inc## Note that these tests uses a innodb_locks_unsafe_for_binlog option.## Test cases for a bug #15650 DELETE with LEFT JOIN crashes server#--disable_warningsdrop table if exists t1,t2;--enable_warningscreate table t1 (id int not null, f_id int not null, f int not null,primary key(f_id, id)) engine=innodb;create table t2 (id int not null,s_id int not null,s varchar(200),primary key(id)) engine=innodb;INSERT INTO t1 VALUES (8, 1, 3);INSERT INTO t1 VALUES (1, 2, 1);INSERT INTO t2 VALUES (1, 0, '');INSERT INTO t2 VALUES (8, 1, '');commit;DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)WHERE mm.id IS NULL;select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)where mm.id is null lock in share mode;drop table t1,t2;create table t1 (id int not null, f_id int not null, f int not null,primary key(id),key(f_id)) engine=innodb;create table t2 (id int not null,s_id int not null,s varchar(200),primary key(id),key(s_id)) engine=innodb;INSERT INTO t1 VALUES (8, 1, 3);INSERT INTO t1 VALUES (1, 2, 1);INSERT INTO t2 VALUES (1, 0, '');INSERT INTO t2 VALUES (8, 1, '');commit;delete ml.* from t1 as ml left join t2 as mm on (mm.s_id=ml.f_id) where mm.s is null;select ml.* from t1 as ml left join t2 as mm on (mm.s_id=ml.f_id) where mm.s is null lock in share mode;drop table t1,t2;## Test case for unlock row bug where unlock releases all locks granted for# a row. Only the latest lock should be released.#connect (a,localhost,root,,);connect (b,localhost,root,,);connection a;create table t1(a int not null, b int, primary key(a)) engine=innodb;insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2);commit;set autocommit = 0; select * from t1 lock in share mode;update t1 set b = 5 where b = 1;connection b;set autocommit = 0;## S-lock to records (2,2),(4,2), and (6,2) should not be released in a update#--error 1205select * from t1 where a = 2 and b = 2 for update;connection a;commit;connection b;commit;drop table t1;disconnect a;disconnect b;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -