mariadb/mysql-test/t/rpl_until.test

71 lines
2 KiB
Text
Raw Normal View History

Implemented support for START SLAVE UNTIL (WL#868) include/mysqld_error.h: Added error codes for warnings and error messages for START SLAVE UNTIL mysql-test/r/rpl000015.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_empty_master_crash.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_flush_log_loop.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_log.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_log_pos.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_redirect.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_replicate_do.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_rotate_logs.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added sql/lex.h: Added UNTIL symbol sql/log.cc: Invalidating until_log_name comparison result if group_relay_log_name is changed sql/log_event.cc: Invalidating until_log_name comparison result if group_master_log_name is changed sql/repl_failsafe.cc: Cancel until condition if LOAD MASTER DATA is executed sql/share/czech/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/danish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/dutch/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/english/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/estonian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/french/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/german/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/greek/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/hungarian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/italian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/japanese/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/korean/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/norwegian-ny/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/norwegian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/polish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/portuguese/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/romanian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/russian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/serbian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/slovak/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/spanish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/swedish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/ukrainian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/slave.cc: Fixed wrong locking order in init_relay_log_pos() Added until condition fields to SHOW SLAVE STATUS Added checking if UNTIL condition is reached (added proper method, added its invocation, reorganized locking in exec_relay_log_event() and next_event()) sql/slave.h: Members in RELAY_LOG_INFO for storing UNTIL condition. Also methods for for invalidation of cached UNTIL condition comparison results sql/sql_repl.cc: Now honoring UNTIL clause then starting slave thread. Proper errors and warnings. sql/sql_yacc.yy: Added support for UNTIL clause in START SLAVE. This involved extraction of some of master_defs to separate master_file_def non-terminal.
2003-09-13 22:13:41 +02:00
source include/master-slave.inc;
# stop slave before he will start replication
connection slave;
stop slave;
connection master;
# create some events on master
create table t1(n int not null auto_increment primary key);
insert into t1 values (1),(2),(3),(4);
drop table t1;
create table t2(n int not null auto_increment primary key);
insert into t2 values (1),(2);
insert into t2 values (3),(4);
drop table t2;
show binlog events;
# try to replicate all queries until drop of t1
connection slave;
start slave until master_log_file='master-bin.000001', master_log_pos=244;
sleep 2;
# here table should be still not deleted
select * from t1;
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
# this should fail right after start
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
# again this table should be still not deleted
select * from t1;
sleep 2;
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
# try replicate all until second insert to t2;
start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=493;
sleep 2;
select * from t2;
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
# clean up
start slave;
connection master;
save_master_pos;
connection slave;
sync_with_master;
stop slave;
# this should stop immideately
start slave until master_log_file='master-bin.000001', master_log_pos=561;
sleep 2;
# here the sql slave thread should be stopped
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
#testing various error conditions
--error 1272
start slave until master_log_file='master-bin', master_log_pos=561;
--error 1272
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
--error 1272
start slave until master_log_file='master-bin.000001';
--error 1272
start slave until relay_log_file='slave-relay-bin.000002';
--error 1272
start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
start slave sql_thread;
start slave until master_log_file='master-bin.000001', master_log_pos=561;