mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			358 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			358 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
connect  addconroot1, localhost, root,,;
 | 
						|
connect  addconroot2, localhost, root,,;
 | 
						|
connect  addconroot3, localhost, root,,;
 | 
						|
connection default;
 | 
						|
drop table if exists t1,t2,t3,t4,t5;
 | 
						|
set debug_sync='RESET';
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create table t1 (j char(5));;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create table t1 select 'Test' as j;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1;
 | 
						|
create table t3 (j char(5));
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create table t1 like t3;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
rename table t3 to t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
alter table t3 rename to t1;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
alter table t3 rename to t1, add k int;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
connection default;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t1,t3;
 | 
						|
set debug_sync='create_table_select_before_open SIGNAL parked WAIT_FOR go';
 | 
						|
connection default;
 | 
						|
set debug_sync='create_table_select_before_open SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
drop table t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
rename table t1 to t2;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
drop table t2;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
select * from t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
i
 | 
						|
1
 | 
						|
connection default;
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
insert into t1 values (2);;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
2
 | 
						|
drop table t1;
 | 
						|
set @a:=0;
 | 
						|
set debug_sync='create_table_select_before_create SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_lock SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
drop table t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
set debug_sync='create_table_select_before_lock SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
rename table t1 to t2;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
drop table t2;
 | 
						|
set debug_sync='create_table_select_before_lock SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
select * from t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
i
 | 
						|
1
 | 
						|
connection default;
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_select_before_lock SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
insert into t1 values (2);;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
2
 | 
						|
drop table t1;
 | 
						|
set @a:=0;
 | 
						|
set debug_sync='create_table_select_before_lock SIGNAL parked WAIT_FOR go';
 | 
						|
create table t1 select 1 as i;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
drop table t1;
 | 
						|
set debug_sync='create_table_before_check_if_exists SIGNAL parked WAIT_FOR go';
 | 
						|
create table if not exists t1 select 1 as i;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
drop table t1;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
create table t1 (i int);
 | 
						|
set @a:=0;
 | 
						|
set debug_sync='create_table_before_check_if_exists SIGNAL parked WAIT_FOR go';
 | 
						|
create table if not exists t1 select 1 as i;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
Warnings:
 | 
						|
Note	1050	Table 't1' already exists
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
drop table t1;
 | 
						|
drop table if exists t1,t2;
 | 
						|
set debug_sync='RESET';
 | 
						|
create table t1 (i int);
 | 
						|
set debug_sync='create_table_like_after_open SIGNAL parked WAIT_FOR go';
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
insert into t1 values (1);
 | 
						|
drop table t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
show create table t2;
 | 
						|
Table	Create Table
 | 
						|
t2	CREATE TABLE `t2` (
 | 
						|
  `i` int(11) DEFAULT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 | 
						|
drop table t2;
 | 
						|
include/show_binlog_events.inc
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Gtid	#	#	BEGIN GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; insert into t1 values (1)
 | 
						|
master-bin.000001	#	Query	#	#	COMMIT
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1` /* generated by server */
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t2` /* generated by server */
 | 
						|
create table t1 (i int);
 | 
						|
set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go';
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
insert into t2 values (1);;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
drop table t2;
 | 
						|
set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go';
 | 
						|
create table t2 like t1;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
drop table t2;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go';
 | 
						|
create table t2 like t1;;
 | 
						|
connection addconroot1;
 | 
						|
set debug_sync='now WAIT_FOR parked';
 | 
						|
drop table t1;;
 | 
						|
connection addconroot2;
 | 
						|
set debug_sync='now SIGNAL go';
 | 
						|
connection default;
 | 
						|
connection addconroot1;
 | 
						|
connection default;
 | 
						|
drop table t2;
 | 
						|
disconnect addconroot1;
 | 
						|
disconnect addconroot2;
 | 
						|
disconnect addconroot3;
 | 
						|
set debug_sync='RESET';
 | 
						|
include/show_binlog_events.inc
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Gtid	#	#	BEGIN GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (1)
 | 
						|
master-bin.000001	#	Query	#	#	COMMIT
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t2` /* generated by server */
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t2` /* generated by server */
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1` /* generated by server */
 | 
						|
master-bin.000001	#	Gtid	#	#	GTID #-#-#
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t2` /* generated by server */
 |