# test for BUG#41029: # "MRR: SELECT FOR UPDATE fails to lock gaps (InnoDB table)" --source include/have_debug.inc --source include/have_innodb.inc select @default_binlog_format:=@@global.binlog_format; set global binlog_format=row; connect (con1,localhost,root,,); connect (con2,localhost,root,,); connection con1; # bug requires this set session debug_dbug="+d,optimizer_innodb_ds_mrr"; set autocommit=0; use test; drop table if exists t1; create table t1 (dummy int primary key, a int unique, b int) engine=innodb; insert into t1 values(1,1,1),(3,3,3),(5,5,5); commit; set session transaction isolation level repeatable read; select @@tx_isolation; start transaction; select * from t1 where a > 2 for update; connection con2; use test; set autocommit=0; start transaction; select 1; --error ER_LOCK_WAIT_TIMEOUT insert into t1 values(2,2,2); rollback; connection con1; rollback; drop table t1; connection default; set global binlog_format=@default_binlog_format;