mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
64 lines
1.6 KiB
Text
64 lines
1.6 KiB
Text
--source include/have_innodb.inc
|
|
--source include/have_debug_sync.inc
|
|
--source include/not_embedded.inc
|
|
|
|
SET DEBUG_SYNC='reset';
|
|
|
|
# Save the initial number of concurrent sessions
|
|
--source include/count_sessions.inc
|
|
|
|
create table t1 (f1 integer, key k1 (f1)) engine=innodb;
|
|
create table t2 (f1 int, f2 int, key(f1), key(f2)) engine=innodb;
|
|
create table t3 (f2 int, key(f2)) engine=innodb;
|
|
|
|
insert into t1 values (10);
|
|
insert into t2 values (10, 20);
|
|
insert into t3 values (20);
|
|
|
|
alter table t2 add constraint c1 foreign key (f1)
|
|
references t1(f1) on update cascade;
|
|
|
|
show create table t1;
|
|
show create table t2;
|
|
show create table t3;
|
|
|
|
SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL update_can_proceed
|
|
WAIT_FOR dict_unfreeze';
|
|
|
|
--send
|
|
alter table t2 add constraint z1 foreign key (f2)
|
|
references t3(f2) on update cascade;
|
|
|
|
connect (thr2,localhost,root,,);
|
|
connection thr2;
|
|
|
|
SET DEBUG_SYNC='innodb_row_update_for_mysql_begin
|
|
WAIT_FOR update_can_proceed';
|
|
SET DEBUG_SYNC='innodb_dml_cascade_dict_unfreeze SIGNAL dict_unfreeze
|
|
WAIT_FOR foreign_free_cache';
|
|
|
|
--send
|
|
update ignore t1 set f1 = 20;
|
|
|
|
connection default;
|
|
--replace_regex /'[^']*test\/#sql2-[0-9a-f-]*'/'#sql2-temporary'/
|
|
--error ER_ERROR_ON_RENAME
|
|
reap;
|
|
|
|
SET DEBUG_SYNC='now SIGNAL foreign_free_cache';
|
|
|
|
connection thr2;
|
|
reap;
|
|
disconnect thr2;
|
|
--source include/wait_until_disconnected.inc
|
|
|
|
connection default;
|
|
|
|
drop table t2;
|
|
drop table t1;
|
|
drop table t3;
|
|
|
|
# Wait till we reached the initial number of concurrent sessions
|
|
--source include/wait_until_count_sessions.inc
|
|
|
|
SET DEBUG_SYNC='reset';
|