mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Some of the test cases reference to binlog position and these position numbers are written into result explicitly. It is difficult to maintain if log event format changes. There are a couple of cases explicit position number appears, we handle them in different ways A. 'CHANGE MASTER ...' with MASTER_LOG_POS or/and RELAY_LOG_POS options Use --replace_result to mask them. B. 'SHOW BINLOG EVENT ...' Replaced by show_binlog_events.inc or wait_for_binlog_event.inc. show_binlog_events.inc file's function is enhanced by given $binlog_file and $binlog_limit. C. 'SHOW SLAVE STATUS', 'show_slave_status.inc' and 'show_slave_status2.inc' For the test cases just care a few items in the result of 'SHOW SLAVE STATUS', only the items related to each test case are showed. 'show_slave_status.inc' is rebuild, only the given items in $status_items will be showed. 'check_slave_is_running.inc' and 'check_slave_no_error.inc' and 'check_slave_param.inc' are auxiliary files helping to show running status and error information easily.
		
			
				
	
	
		
			248 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			248 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
drop table if exists t1,t2,t3,t4,t5;
 | 
						|
set session debug="+d,sleep_create_select_before_create";
 | 
						|
create table t1 select 1 as i;;
 | 
						|
create table t1 (j char(5));
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
create table t1 select "Test" as j;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1;
 | 
						|
create table t3 (j char(5));
 | 
						|
create table t1 select 1 as i;;
 | 
						|
create table t1 like t3;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
rename table t3 to t1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
alter table t3 rename to t1;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
alter table t3 rename to t1, add k int;
 | 
						|
ERROR 42S01: Table 't1' already exists
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `i` int(1) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1, t3;
 | 
						|
set session debug="-d,sleep_create_select_before_create:+d,sleep_create_select_before_open";
 | 
						|
create table t1 select 1 as i;;
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
rename table t1 to t2;
 | 
						|
drop table t2;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
insert into t1 values (2);
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
2
 | 
						|
drop table t1;
 | 
						|
set @a:=0;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
drop table t1;
 | 
						|
set session debug="-d,sleep_create_select_before_open:+d,sleep_create_select_before_lock";
 | 
						|
create table t1 select 1 as i;;
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
rename table t1 to t2;
 | 
						|
drop table t2;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
drop table t1;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
insert into t1 values (2);
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
2
 | 
						|
drop table t1;
 | 
						|
set @a:=0;
 | 
						|
create table t1 select 1 as i;;
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
drop table t1;
 | 
						|
set session debug="-d,sleep_create_select_before_lock:+d,sleep_create_select_before_check_if_exists";
 | 
						|
create table t1 (i int);
 | 
						|
create table if not exists t1 select 1 as i;;
 | 
						|
drop table t1;
 | 
						|
Warnings:
 | 
						|
Note	1050	Table 't1' already exists
 | 
						|
create table t1 (i int);
 | 
						|
set @a:=0;
 | 
						|
create table if not exists t1 select 1 as i;;
 | 
						|
create trigger t1_bi before insert on t1 for each row set @a:=1;
 | 
						|
Warnings:
 | 
						|
Note	1050	Table 't1' already exists
 | 
						|
select @a;
 | 
						|
@a
 | 
						|
0
 | 
						|
select * from t1;
 | 
						|
i
 | 
						|
1
 | 
						|
drop table t1;
 | 
						|
set session debug="-d,sleep_create_select_before_check_if_exists";
 | 
						|
create table t2 (a int);
 | 
						|
create table t4 (b int);
 | 
						|
lock table t4 write;
 | 
						|
select 1;
 | 
						|
1
 | 
						|
1
 | 
						|
create table t3 as select * from t4;;
 | 
						|
create table t1 select * from t2, t3;;
 | 
						|
unlock tables;
 | 
						|
select * from t1;
 | 
						|
a	b
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `a` int(11) DEFAULT NULL,
 | 
						|
  `b` int(11) DEFAULT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1, t3;
 | 
						|
lock table t4 read;
 | 
						|
select 1;
 | 
						|
1
 | 
						|
1
 | 
						|
rename table t4 to t3;;
 | 
						|
create table if not exists t1 select 1 as i from t2, t3;;
 | 
						|
create table t5 (j int);
 | 
						|
rename table t5 to t1;
 | 
						|
unlock tables;
 | 
						|
Warnings:
 | 
						|
Note	1050	Table 't1' already exists
 | 
						|
select * from t1;
 | 
						|
j
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `j` int(11) DEFAULT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t1, t2, t3;
 | 
						|
drop table if exists t1,t2;
 | 
						|
create table t1 (i int);
 | 
						|
set session debug="+d,sleep_create_like_before_check_if_exists";
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
insert into t1 values (1);
 | 
						|
drop table t1;
 | 
						|
show create table t2;
 | 
						|
Table	Create Table
 | 
						|
t2	CREATE TABLE `t2` (
 | 
						|
  `i` int(11) DEFAULT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t2;
 | 
						|
show binlog events from <binlog_start>;
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; insert into t1 values (1)
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
create table t1 (i int);
 | 
						|
set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
 | 
						|
create table t2 like t1;;
 | 
						|
create table if not exists t2 (j int);
 | 
						|
Warnings:
 | 
						|
Note	1050	Table 't2' already exists
 | 
						|
show create table t2;
 | 
						|
Table	Create Table
 | 
						|
t2	CREATE TABLE `t2` (
 | 
						|
  `i` int(11) DEFAULT NULL
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
drop table t2;
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
drop table t1;
 | 
						|
drop table t2;
 | 
						|
show binlog events from <binlog_start>;
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
create table t1 (i int);
 | 
						|
set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
insert into t2 values (1);
 | 
						|
drop table t2;
 | 
						|
create table t2 like t1;;
 | 
						|
drop table t2;
 | 
						|
create table t2 like t1;;
 | 
						|
drop table t1;
 | 
						|
drop table t2;
 | 
						|
show binlog events from <binlog_start>;
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (1)
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
create table t1 (i int);
 | 
						|
set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
 | 
						|
reset master;
 | 
						|
create table t2 like t1;;
 | 
						|
insert into t2 values (1);
 | 
						|
drop table t2;
 | 
						|
create table t2 like t1;;
 | 
						|
drop table t2;
 | 
						|
create table t2 like t1;;
 | 
						|
drop table t1;
 | 
						|
drop table t2;
 | 
						|
show binlog events from <binlog_start>;
 | 
						|
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (1)
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; create table t2 like t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t1
 | 
						|
master-bin.000001	#	Query	#	#	use `test`; drop table t2
 | 
						|
set session debug="-d,sleep_create_like_before_binlogging";
 |