mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +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.
46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
##############################################################################
|
|
# Show binary log events
|
|
#
|
|
# Useage:
|
|
# let $binlog_file= master-bin.000002;
|
|
# let $binlog_start= 106;
|
|
# let $binlog_limit= 1, 3;
|
|
# source include/show_binlog_events.inc;
|
|
#
|
|
# It shows the first binary log file if $binlog_file is not given.
|
|
#
|
|
# It shows events from the end position of the description event if
|
|
# $binlog_start is not given.
|
|
#
|
|
# It shows all of the events if $binlog_limit is not given.
|
|
# $binlog_format has the same semantic with 'LIMIT' option.
|
|
#
|
|
##############################################################################
|
|
|
|
if (!$binlog_start)
|
|
{
|
|
# If $binlog_start is not set, we will set it as the second event's position.
|
|
# The first event(Description Event) is always ignored. For description
|
|
# event's length might be changed because of adding new events, 'SHOW BINLOG
|
|
# EVENTS LIMIT 1' is used to get the right value.
|
|
--let $binlog_start= query_get_value(SHOW BINLOG EVENTS LIMIT 1, End_log_pos, 1)
|
|
}
|
|
|
|
--let $_statement=show binlog events
|
|
if (`SELECT '$binlog_file' <> ''`)
|
|
{
|
|
--let $_statement= $_statement in '$binlog_file'
|
|
}
|
|
|
|
--let $_statement= $_statement from $binlog_start
|
|
|
|
if (`SELECT '$binlog_limit' <> ''`)
|
|
{
|
|
--let $_statement= $_statement limit $binlog_limit
|
|
}
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start <binlog_start>
|
|
--replace_column 2 # 4 # 5 #
|
|
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/
|
|
--eval $_statement
|