mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.7 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
 | 
						|
 | 
						|
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';
 |