用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
1.4 KiB

--echo #
--echo # Bug#20262654 INNODB: MYSQL IS TRYING TO PERFORM A CONSISTENT READ
--echo # BUT THE READ VIEW IS NOT AS
--echo #
set sql_mode="";
create table t1(a int)engine=innodb;
create table t2(b int)engine=innodb;
delimiter $;
create procedure p1()
begin
declare counter integer default 0;
declare continue handler for sqlexception begin set counter = counter + 10;end;
repeat
if rand()>0.5 then start transaction; end if;
if rand()>0.5 then
select var_samp(1), exists(select 1 from t1 lock in share mode)
from t1 into @a,@b;
end if;
if rand()>0.5 then
select var_samp(1), exists(select 1 from t1 for update)
from t1 into @a,@b;
end if;
if rand()>0.5 then insert ignore into t1 values (); end if;
if rand()>0.5 then insert ignore into t2 values (); end if;
if rand()>0.5 then delete from t1; end if;
if rand()>0.5 then delete from t2; end if;
if rand()>0.5 then commit; end if;
set counter = counter + 1;
until counter >= 100 end repeat;
end $
delimiter ;$
--enable_connect_log
--connect(con1, localhost, root)
--disable_result_log
--send call p1(); # run this in two connections!
--connection default
call p1();
--connection con1
--echo reap
--reap
--echo reap done
--disconnect con1
--source include/wait_until_disconnected.inc
--enable_result_log
--connection default
--disable_connect_log
drop procedure p1;
drop table t1,t2;
set sql_mode=default;