mariadb/mysql-test/include/show_slave_status.inc
Michael Widenius 59f5c05a38 Don't crash with: UPDATE performance_schema.setup_instruments SET ENABLED="NO";
Don't log updates to performance schema in replication log.
Ensure that we don't call ha_update after ha_index_or_rnd_end() is called on slave.


.bzrignore:
  Ignore some generated files
mysql-test/include/show_slave_status.inc:
  Ensure that ./ is removed from file names
mysql-test/suite/perfschema/r/binlog_mix.result:
  Updated results
mysql-test/suite/perfschema/r/binlog_row.result:
  Updated results
mysql-test/suite/perfschema/r/binlog_stmt.result:
  Updated results
mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
  Updated results
mysql-test/suite/rpl/r/rpl_performance_schema.result:
  Ensure that we don't crash slave when we update performance schema
mysql-test/suite/rpl/t/rpl_performance_schema.test:
  Ensure that we don't crash slave when we update performance schema
sql/log_event.cc:
  Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
  Remove old code that is not needed anymore (like restarting read loop over all rows if no matcing row is found)
  Simplify code
sql/log_event_old.cc:
  Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
storage/myisam/ha_myisam.cc:
  More DBUG_PRINT
storage/perfschema/ha_perfschema.h:
  Don't log updates to performance schema in replication log.
2012-01-24 18:07:35 +02:00

76 lines
2.7 KiB
PHP

# ==== Purpose ====
#
# Show selected columns of output from SHOW SLAVE STATUS.
#
# Note: test cases should never call SHOW SLAVE STATUS directly,
# because that outputs more information to the query log than what is
# needed for the property that is being tested. That would cause
# maintenance problems, because (1) it is hard for a human to
# understand what property is being tested; (2) the output of many of
# the fields is non-deterministic (e.g., Slave_IO_State) or changes
# frequently (e.g., binlog positions).
#
# Instead, what you want most of the time is to source one of the
# following scripts:
#
# include/check_slave_no_error.inc
# Assert that Slave_SQL_Errno = Slave_IO_Errno = 0.
#
# include/check_slave_is_running.inc
# Assert that Slave_IO_Running = Slave_SQL_Running = 'Yes'.
#
# include/wait_for_slave_sql_error.inc
# Wait for the SQL thread to get a given error (and assert that
# it has this error).
#
# include/wait_for_slave_io_error.inc
# Wait for the IO thread to get a given error (and assert that
# it has this error).
#
# include/wait_for_slave_sql_to_stop.inc
# include/wait_for_slave_io_to_stop.inc
# include/wait_for_slave_to_stop.inc
# Wait for the SQL thread, the IO thread, or both to stop (and
# assert they stop).
#
# When none of the above applies, you may use this script instead.
# However, take care so that the test never contains explicit binlog
# coordinates. Usually you can read the binlog coordinates into a
# variable and compare it to some other coordinates.
#
#
# ==== Usage ====
#
# --let $status_items= Column_Name[, Column_Name[, ...]]
# --source include/show_slave_status.inc
#
# Parameters:
# $status_items
# Set to the name of the column in the output of SHOW SLAVE STATUS
# that you want to display. Example:
#
# --let $status_items= Master_SSL_Allowed
#
# You can show multiple columns by setting $status_items to a
# comma-separated list. Example:
#
# --let $status_items= Master_Log_File, Relay_Master_Log_File
--let $_show_slave_status_items=$status_items
if (!$status_items)
{
--die Bug in test case: The mysqltest variable $status_items is not set.
}
while ($_show_slave_status_items)
{
--let $_show_slave_status_name= `SELECT SUBSTRING_INDEX('$_show_slave_status_items', ',', 1)`
--let $_show_slave_status_items= `SELECT LTRIM(SUBSTRING('$_show_slave_status_items', LENGTH('$_show_slave_status_name') + 2))`
--replace_regex /\.[\\\/]master/master/
--let $_show_slave_status_value= query_get_value(SHOW SLAVE STATUS, $_show_slave_status_name, 1)
--let $_show_slave_status_value= `SELECT REPLACE("$_show_slave_status_value", '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`
--echo $_show_slave_status_name = '$_show_slave_status_value'
}