--source include/master-slave.inc connection master; CREATE TABLE t (a INT, b INT); INSERT INTO t (a, b) VALUES (1, 1); INSERT INTO t (a, b) VALUES (2, 2); INSERT INTO t (a, b) VALUES (3, 3); INSERT INTO t (a, b) VALUES (4, 4); INSERT INTO t (a, b) VALUES (5, 5); INSERT INTO t (a, b) VALUES (6, 6); INSERT INTO t (a, b) VALUES (7, 7); --source include/sync_slave_sql_with_master.inc # 'mix', 'row', and 'stmt' generate different outputs --disable_query_log --disable_result_log --let $binlog_end_pos= query_get_value(SHOW MASTER STATUS, Position, 1) --let $end_pos= 0 --let $row_number= 1 # no error for binlog position 0 SHOW BINLOG EVENTS FROM 0 LIMIT 1; # expect error for binlog position 1 --error ER_ERROR_WHEN_EXECUTING_COMMAND SHOW BINLOG EVENTS FROM 1 LIMIT 1; while ($end_pos < $binlog_end_pos) { --let $start_pos= query_get_value(SHOW BINLOG EVENTS, Pos, $row_number) --let $end_pos= query_get_value(SHOW BINLOG EVENTS, End_log_pos, $row_number) --inc $row_number --let $start_pos_prev= $start_pos --dec $start_pos_prev --let $start_pos_next= $start_pos --inc $start_pos_next # expect error for $start_pos - 1 --error ER_ERROR_WHEN_EXECUTING_COMMAND --eval SHOW BINLOG EVENTS FROM $start_pos_prev LIMIT 1 # no error for $start_pos --eval SHOW BINLOG EVENTS FROM $start_pos LIMIT 1 # expect error for $start_pos + 1 --error ER_ERROR_WHEN_EXECUTING_COMMAND --eval SHOW BINLOG EVENTS FROM $start_pos_next LIMIT 1 } # no error for $binlog_end_pos --eval SHOW BINLOG EVENTS FROM $binlog_end_pos LIMIT 1 # expect error for $binlog_end_pos + 1 --inc $binlog_end_pos --error ER_ERROR_WHEN_EXECUTING_COMMAND --eval SHOW BINLOG EVENTS FROM $binlog_end_pos LIMIT 1 --enable_query_log --enable_result_log connection master; DROP TABLE t; --source include/rpl_end.inc