summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/alter_mdl_timeout.test
blob: ff77921b2d21d7c1e9cb564754a9db6ca7a06de5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--source include/have_innodb.inc
--source include/have_debug.inc

create table t1(f1 char(10), f2 char(10) not null, f3 int not null,
                f4 int not null, primary key(f3))engine=innodb;
insert into t1 values('a','a', 1, 1), ('b','b', 2, 2), ('c', 'c', 3, 3), ('d', 'd', 4, 4);
SET DEBUG_SYNC="row_merge_after_scan SIGNAL con1_start WAIT_FOR con1_insert";
SET DEBUG_SYNC="innodb_commit_inplace_alter_table_wait SIGNAL con1_wait WAIT_FOR con1_update";
send ALTER TABLE t1 ADD UNIQUE INDEX(f1(3), f4), ADD UNIQUE INDEX(f2), ALGORITHM=INPLACE;

connect(con1,localhost,root,,,);
SET DEBUG_SYNC="now WAIT_FOR con1_start";
begin;
INSERT INTO t1 VALUES('e','e',5, 5);
SET DEBUG_SYNC="now SIGNAL con1_insert";
SET DEBUG_SYNC="now WAIT_FOR con1_wait";
SET DEBUG_SYNC="after_row_upd_clust SIGNAL con1_update WAIT_FOR alter_rollback";
SEND UPDATE t1 set f4 = 10 order by f1 desc limit 2;

connection default;
--error ER_LOCK_WAIT_TIMEOUT
reap;
SET DEBUG_SYNC="now SIGNAL alter_rollback";

connection con1;
reap;
commit;

connection default;
disconnect con1;
DROP TABLE t1;
SET DEBUG_SYNC="RESET";