mirror of
https://github.com/MariaDB/server.git
synced 2025-08-29 00:08:14 +03:00
72 lines
1.8 KiB
Plaintext
72 lines
1.8 KiB
Plaintext
--source include/have_innodb_plugin.inc
|
|
--source include/have_debug_sync.inc
|
|
--source include/not_embedded.inc
|
|
# InnoDB Plugin cannot use DEBUG_SYNC on Windows
|
|
--source include/not_windows.inc
|
|
|
|
if (`select plugin_auth_version <= "1.0.17-13.0" from information_schema.plugins where plugin_name='innodb'`)
|
|
{
|
|
--skip Not fixed in XtraDB 1.0.17-13.0 or earlier
|
|
}
|
|
|
|
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='alter_table_before_rename_result_table
|
|
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';
|