• 's avatar
    Bug #49741 test files contain explicit references to bin/relay-log positions · cc054408
    authored
    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.
    cc054408
rpl_bug12691.result 910 Bytes
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;

**** On Master ****
CREATE TABLE t1 (b CHAR(10));

**** On Slave ****
STOP SLAVE;

**** On Master ****
LOAD DATA INFILE FILENAME
SELECT COUNT(*) FROM t1;
COUNT(*)
3
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 t1 (b CHAR(10))
master-bin.000001	#	Begin_load_query	#	#	;file_id=#;block_len=#
master-bin.000001	#	Execute_load_query	#	#	use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/rpl_bug12691.dat' INTO TABLE `t1` FIELDS TERMINATED BY '|' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`b`) ;file_id=#

**** On Slave ****
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
SELECT COUNT(*) FROM t1;
COUNT(*)
0

**** On Master ****
DROP TABLE t1;