38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
--source suite/xengine/include/have_xengine.inc
|
|
--source include/have_debug_sync.inc
|
|
|
|
# This is a test case to reproduce https://github.com/facebook/mysql-5.6/issues/162
|
|
# Expected output of the last select for update was (1,2,100) and (1,3,100), but
|
|
# currently it returns (1,2,1) and (1,3,1), which must be fixed.
|
|
|
|
connect (con, localhost, root,,);
|
|
connection default;
|
|
|
|
--disable_warnings
|
|
set debug_sync='RESET';
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
create table t1 (id1 int, id2 int, value int, primary key (id1, id2)) engine=xengine;
|
|
insert into t1 values (1, 1, 1),(1, 2, 1),(1, 3, 1), (2, 2, 2);
|
|
|
|
connection con;
|
|
set debug_sync='xengine.get_row_by_rowid SIGNAL parked WAIT_FOR go';
|
|
send update t1 set value=100 where id1=1;
|
|
|
|
connection default;
|
|
set debug_sync='now WAIT_FOR parked';
|
|
delete from t1 where id1=1 and id2=1;
|
|
set debug_sync='now SIGNAL go';
|
|
|
|
connection con;
|
|
reap;
|
|
select * from t1 where id1=1 for update;
|
|
|
|
# Cleanup
|
|
connection default;
|
|
disconnect con;
|
|
set debug_sync='RESET';
|
|
drop table t1;
|
|
--source suite/xengine/include/check_xengine_log_error.inc
|