summaryrefslogtreecommitdiff
path: root/mysql-test/t/rpl_until.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/rpl_until.test')
-rw-r--r--mysql-test/t/rpl_until.test70
1 files changed, 70 insertions, 0 deletions
diff --git a/mysql-test/t/rpl_until.test b/mysql-test/t/rpl_until.test
new file mode 100644
index 00000000000..77e29057357
--- /dev/null
+++ b/mysql-test/t/rpl_until.test
@@ -0,0 +1,70 @@
+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;