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.
41 lines
1.1 KiB
41 lines
1.1 KiB
#
|
|
# Bug#20262654 INNODB: MYSQL IS TRYING TO PERFORM A CONSISTENT READ
|
|
# BUT THE READ VIEW IS NOT AS
|
|
#
|
|
set sql_mode="";
|
|
create table t1(a int)engine=innodb;
|
|
create table t2(b int)engine=innodb;
|
|
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 $
|
|
connect con1, localhost, root;
|
|
call p1(); # run this in two connections!;
|
|
connection default;
|
|
call p1();
|
|
connection con1;
|
|
reap
|
|
reap done
|
|
disconnect con1;
|
|
connection default;
|
|
drop procedure p1;
|
|
drop table t1,t2;
|
|
set sql_mode=default;
|
|
|