mariadb/mysql-test/include/diff_tables.inc

194 lines
6.6 KiB
PHP
Raw Normal View History

BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
# ==== Purpose ====
#
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# Check if all tables in the given list are equal. The tables may have
# different names, exist in different connections, and/or reside in
# different databases.
#
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
#
# ==== Usage ====
#
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# --let $diff_tables= [con1:][db1.]t1, [con2:][db2.]t2, ... , [conN:][dbN.]tN
# [--let $rpl_debug= 1]
# --source include/diff_tables.inc
#
# Parameters:
# $diff_tables
# Comma-separated list of tables to compare. Each table has the form
#
# [CONNECTION:][DATABASE.]table
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
#
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# If CONNECTION is given, then that connection is used. If
# CONNECTION is not given, then the connection of the previous
# table is used (or the current connection, if this is the first
# table). If DATABASE is given, the table is read in that
# database. If DATABASE is not given, the table is read in the
# connection's current database.
#
# $rpl_debug
# See include/rpl_init.inc
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
#
#
# ==== Side effects ====
#
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# - Prints "include/diff_tables.inc [$diff_tables]".
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
#
# - If the tables are different, prints the difference in a
# system-specific format (unified diff if supported) and generates
# an error.
#
#
# ==== Bugs ====
#
# - It is currently not possible to use this for tables that are
# supposed to be different, because if the files are different:
# - 'diff' produces system-dependent output,
# - the output includes the absolute path of the compared files,
# - the output includes a timestamp.
# To fix that, we'd probably have to use SQL to compute the
# symmetric difference between the tables. I'm not sure how to do
# that efficiently. If we implement this, it would be nice to
# compare the table definitions too.
#
# - It actually compares the result of "SELECT * FROM table ORDER BY
# col1, col2, ..., colN INTO OUTFILE 'file'". Hence, it is assumed
# that the comparison orders for both tables are equal and that two
# rows that are equal in the comparison order cannot differ, e.g.,
# by character case.
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
--let $include_filename= diff_tables.inc [$diff_tables]
--source include/begin_include_file.inc
if (!$rpl_debug)
{
--disable_query_log
}
# Check sanity
if (`SELECT LOCATE(',', '$diff_tables') = 0`)
{
--die ERROR IN TEST: $diff_tables must contain at least two tables (separated by comma)
}
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
# ==== Save both tables to file ====
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# Trim off whitespace
--let $_dt_tables= `SELECT REPLACE('$diff_tables', ' ', '')`
# Iterate over all tables
--let $_dt_outfile=
--let $_dt_prev_outfile=
2010-12-20 15:15:01 +01:00
while ($_dt_tables)
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
{
--let $_dt_table= `SELECT SUBSTRING_INDEX('$_dt_tables', ',', 1)`
--let $_dt_tables= `SELECT SUBSTRING('$_dt_tables', LENGTH('$_dt_table') + 2)`
# Parse connection, if any
--let $_dt_colon_index= `SELECT LOCATE(':', '$_dt_table')`
if ($_dt_colon_index)
{
--let $_dt_connection= `SELECT SUBSTRING('$_dt_table', 1, $_dt_colon_index - 1)`
--let $_dt_table= `SELECT SUBSTRING('$_dt_table', $_dt_colon_index + 1)`
--let $rpl_connection_name= $_dt_connection
--source include/rpl_connection.inc
}
# Parse database name, if any
--let $_dt_database_index= `SELECT LOCATE('.', '$_dt_table')`
if ($_dt_database_index)
{
--let $_dt_database= `SELECT SUBSTRING('$_dt_table', 1, $_dt_database_index - 1)`
--let $_dt_table= `SELECT SUBSTRING('$_dt_table', $_dt_database_index + 1)`
}
if (!$_dt_database_index)
{
--let $_dt_database= `SELECT DATABASE()`
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
}
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
if ($rpl_debug)
{
--echo con='$_dt_connection' db='$_dt_database' table='$_dt_table'
--echo rest of tables='$_dt_tables'
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
}
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# We need to sort the output files so that diff_files does not think
# the tables are different just because the rows are differently
# ordered. To this end, we first generate a string containing a
# comma-separated list of all column names. This is used in the
# ORDER BY clause of the following SELECT statement. We get the
# column names from INFORMATION_SCHEMA.COLUMNS, and we concatenate
# them with GROUP_CONCAT. Since GROUP_CONCAT is limited by the
# @@SESSION.group_concat_max_len, which is only 1024 by default, we
# first compute the total size of all columns and then increase this
# limit if needed. We restore the limit afterwards so as not to
# interfere with the test case.
# Compute length of ORDER BY clause.
let $_dt_order_by_length=
`SELECT SUM(LENGTH(column_name) + 3) FROM information_schema.columns
WHERE table_schema = '$_dt_database' AND table_name = '$_dt_table'`;
if (!$_dt_order_by_length)
{
--echo ERROR IN TEST: table $_dt_database.$_dt_table not found in INFORMATION_SCHEMA.COLUMNS. Did you misspell it?
--die ERROR IN TEST: table not found in INFORMATION_SCHEMA. Did you misspell it?
}
--let $_dt_old_group_concat_max_len=
# Increase group_concat_max_len if needed.
if (`SELECT $_dt_order_by_length > @@SESSION.group_concat_max_len`)
{
--let $_dt_old_group_concat_max_len= `SELECT @@SESSION.group_concat_max_len`
--eval SET SESSION group_concat_max_len = $_dt_order_by_length;
if ($rpl_debug)
{
--echo # increasing group_concat_max_len from $_dt_old_group_concat_max_len to $_dt_order_by_length
}
}
# Generate ORDER BY clause.
# It would be better to do GROUP_CONCAT(CONCAT('`', column_name, '`')) but
# BUG#58087 prevents us from returning strings that begin with backticks.
let $_dt_column_list=
`SELECT GROUP_CONCAT(column_name ORDER BY ORDINAL_POSITION SEPARATOR '`,`')
FROM information_schema.columns
WHERE table_schema = '$_dt_database' AND table_name = '$_dt_table'`;
# Restore group_concat_max_len.
if ($_dt_old_group_concat_max_len)
{
--let $_dt_dummy= `SET SESSION group_concat_max_len = $_dt_old_group_concat_max_len
}
if ($rpl_debug)
{
--echo using ORDER BY clause '`$_dt_column_list`'
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
}
# Now that we have the comma-separated list of columns, we can write
# the table to a file.
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
--let $_dt_outfile= `SELECT @@datadir`
--let $_dt_outfile= $_dt_outfile/diff_table-$_dt_connection-$_dt_database-$_dt_table
eval SELECT * FROM $_dt_database.$_dt_table ORDER BY `$_dt_column_list` INTO OUTFILE '$_dt_outfile';
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
# Compare files.
if ($_dt_prev_outfile)
{
if ($rpl_debug)
{
--echo # diffing $_dt_prev_outfile vs $_dt_outfile
}
--diff_files $_dt_prev_outfile $_dt_outfile
# Remove previous outfile. Keep current file for comparison with next table.
--disable_warnings
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
--remove_file $_dt_prev_outfile
--enable_warnings
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
}
--let $_dt_prev_outfile= $_dt_outfile
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
}
--disable_warnings
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
--remove_file $_dt_prev_outfile
--enable_warnings
BUG#31168: @@hostname does not replicate Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
2008-03-07 13:59:36 +01:00
BUG#49978: Replication tests don't clean up replication state at the end Major replication test framework cleanup. This does the following: - Ensure that all tests clean up the replication state when they finish, by making check-testcase check the output of SHOW SLAVE STATUS. This implies: - Slave must not be running after test finished. This is good because it removes the risk for sporadic errors in subsequent tests when a test forgets to sync correctly. - Slave SQL and IO errors must be cleared when test ends. This is good because we will notice if a test gets an unexpected error in the slave threads near the end. - We no longer have to clean up before a test starts. - Ensure that all tests that wait for an error in one of the slave threads waits for a specific error. It is no longer possible to source wait_for_slave_[sql|io]_to_stop.inc when there is an error in one of the slave threads. This is good because: - If a test expects an error but there is a bug that causes another error to happen, or if it stops the slave thread without an error, then we will notice. - When developing tests, wait_for_*_to_[start|stop].inc will fail immediately if there is an error in the relevant slave thread. Before this patch, we had to wait for the timeout. - Remove duplicated and repeated code for setting up unusual replication topologies. Now, there is a single file that is capable of setting up arbitrary topologies (include/rpl_init.inc, but include/master-slave.inc is still available for the most common topology). Tests can now end with include/rpl_end.inc, which will clean up correctly no matter what topology is used. The topology can be changed with include/rpl_change_topology.inc. - Improved debug information when tests fail. This includes: - debug info is printed on all servers configured by include/rpl_init.inc - User can set $rpl_debug=1, which makes auxiliary replication files print relevant debug info. - Improved documentation for all auxiliary replication files. Now they describe purpose, usage, parameters, and side effects. - Many small code cleanups: - Made have_innodb.inc output a sensible error message. - Moved contents of rpl000017-slave.sh into rpl000017.test - Added mysqltest variables that expose the current state of disable_warnings/enable_warnings and friends. - Too many to list here: see per-file comments for details. client/mysqltest.cc: Added the following variables: $ENABLED_WARNINGS $ENABLED_QUERY_LOG $ENABLED_RESULT_LOG $ENABLED_ABORT_ON_ERROR $ENABLED_INFO $ENABLED_METADATA Each variable is 0 or 1, depending on if the corresponding mysqltest feature is on or off. mysql-test/extra/rpl_tests/rpl_EE_err.test: Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment.test: - Use rpl_reset.inc instead of master-slave-reset.inc - diff_tables.inc now takes only one parameter. Made test clean up after itself and removed outdated comments. mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test: diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_charset.test: Made test clean up after itself and removed unnecessary cleanup in beginning. mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_conflicts.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_ddl.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. cosmetic fixes mysql-test/extra/rpl_tests/rpl_deadlock.test: make test clean up after itself mysql-test/extra/rpl_tests/rpl_extra_col_master.test: cosmetic fixes mysql-test/extra/rpl_tests/rpl_extra_col_slave.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_failed_optimize.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_foreign_key.test: made test clean up after itself mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test: - Replace 'start slave; wait_for_slave_to_start.inc' by include/start_slave.inc. - Use new file rpl_connect.inc to reconnect on all connections, since the connections are used by rpl_end.inc. - Use wait_for_slave_param.inc instead of wait_for_slave_io_to_start.inc, since wait_for_slave_io_to_start.inc now fails if the IO thread has an error. In this particular test case, it is normal that the IO thread has an error. - Changed wait_for_slave_io_error.inc so that it waits for the IO thread to stop. However, in this test case, the IO thread only gets a non-fatal error, so it does not stop. So we set $slave_io_error_is_nonfatal=1 to prevent wait_for_slave_io_error.inc from waiting. mysql-test/extra/rpl_tests/rpl_insert_id.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_loaddata.test: - Use wait_for_slave_sql_error.inc to wait for errors instead of wait_for_slave_sql_to_stop.inc - Use check_slave_no_error.inc instead of print errors to the log. - Use rpl_reset.inc instead of master-slave-reset.inc This means we have to clear the error from the slave threads by calling RESET SLAVE explicitly. - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_log.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_max_relay_size.test: made test clean up after itself cosmetic fix mysql-test/extra/rpl_tests/rpl_multi_query.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_multi_update.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test: replace master-slave-reset.inc by rpl_reset.inc mysql-test/extra/rpl_tests/rpl_not_null.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_record_compare.test: - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_reset_slave.test: - replace wait_for_slave_io_error.inc+stop_slave.inc by wait_for_slave_io_error_and_stop.inc+stop_slave_sql.inc since stop_slave.inc now fails when the io thread has an error. - replace stop_slave.inc by STOP SLAVE + wait_for_slave_sql_to_stop.inc + wait_for_slave_param. stop_slave.inc would fail since the IO thread has an error. - add include/rpl_end.inc to clean up replication state mysql-test/extra/rpl_tests/rpl_row_UUID.test: Don't clean up replication here since this file does not setup replication. The main test now has to both setup and clean up replication. mysql-test/extra/rpl_tests/rpl_row_basic.test: - replaced reset_master_and_slave.inc by rpl_reset.inc - replaced sequence of reset master+reset slave by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp002.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_row_sp007.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_set_null.test: - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: - Made test clean up replication state. mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test: replaced rpl_diff_tables.inc by diff_tables.inc mysql-test/extra/rpl_tests/rpl_stop_slave.test: changed protocol for diff_tables.inc mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_test_framework.inc: Auxiliary file used by rpl_test_framework.test. This checks that rpl_change_topology.inc works correctly. mysql-test/extra/rpl_tests/rpl_truncate.test: made test clean up after itself cosmetic fixes mysql-test/extra/rpl_tests/rpl_truncate_helper.test: - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/include/analyze-sync_with_master.test: - improved debug output printed when sync_slave_with_master or sync_with_master fails - Added documentation mysql-test/include/assert.inc: Added file to facilitate assertions. mysql-test/include/begin_include_file.inc: New auxiliary file to be used by replication helper files like rpl_init.inc, stop_slave.inc, wait_for_slave_*.inc, etc. Such helper files should source rpl_begin_include_file.inc at the beginning and rpl_end_include_file.inc at the end. That adds the following features: - When a test sources the file, the file name is printed to the result file. This is good because it makes result files easier to follow. - When a helper file sources a second helper file recursively, then the name of the second file is not printed. This is good because it would make the result file harder to follow if all the internal calls of all helper files were printed. - When $rpl_debug is set, all internal calls are printed to the result file. This is good because it helps when debugging test cases. (With $rpl_debug=1, many of the helper files now print other relevant debug info too.) - When a file needs to turn off the query log or the warning log (disable_query_log/disable_warnings), then the file can tell rpl_begin_include_file.inc about it. Then rpl_begin_include_file.inc will turn off the log correctly, and rpl_end_include_file.inc will turn on the log correctly. Note that if rpl_a.inc sources rpl_b.inc and both files need to turn off the log, then the log is not turned on when rpl_b.inc ends (because rpl_a.inc still needs the log off). This makes it easier to program replication helper files. mysql-test/include/check-testcase.test: Made check-testcase ensure that the slave status is reset after the test has finished. mysql-test/include/check_slave_is_running.inc: - Use existing framework (check_slave_param.inc) instead of ad-hoc code to check value of slave parameters. - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_no_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/check_slave_param.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - improve documentation. mysql-test/include/cleanup_fake_relay_log.inc: - Use RESET SLAVE instead of manual file removal. This also resets other replication state. - verify that RESET SLAVE correctly removed files. mysql-test/include/diff_tables.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. - file now supports an arbitrary number of tables (not just two). The tables are now given as a comma-separated list instead of as two variables. - You no longer have to specify database name for each table. If no database is specified, it defaults to the current database. - File now restores the connection at the end. mysql-test/include/end_include_file.inc: New file to be sourced at the end of auxiliary replication include files. See include/rpl_begin_include_file.inc for details. mysql-test/include/file_does_not_exist.inc: Added .inc file to check that a given file is removed. mysql-test/include/force_restart.inc: Added file to force server restart after test mysql-test/include/force_restart_if_skipped.inc: Added file to force server restart after test, if the test is skipped mysql-test/include/have_innodb.inc: Made have_innodb.inc print sensible message when innodb is not supported. mysql-test/include/io_thd_fault_injection.inc: Use rpl_server_restart.inc instead of restart_mysqld.inc in rpl tests mysql-test/include/kill_query_and_diff_master_slave.inc: Renamed diff_master_slave.inc to rpl_diff.inc mysql-test/include/master-slave.inc: - Use new rpl_init.inc file - Now, we don't do 'drop table' in master-slave.inc any more. That's good because drop table has nothing to do with configuring replication servers. - master-slave.inc now supports the additional parameter $rpl_server_count. By default, master-slave.inc only configures two servers; if $rpl_server_count is set, it configures that many servers. Only the second server is a slave; the rest are not part of the replication topology. mysql-test/include/mtr_check.sql: Removed unneeded SP (use include/force_restart.inc instead) mysql-test/include/mysqldump.inc: diff_tables.inc now takes only one parameter. mysql-test/include/ndb_master-slave.inc: use master-slave.inc instead of ad-hoc calls to 'connect' mysql-test/include/ndb_master-slave_2ch.inc: use rpl_init.inc instead of ad-hoc setup mysql-test/include/ndb_not_readonly.inc: turn off query log while executing this script. this was previously done by the caller. now it's done in the script. mysql-test/include/report-features.test: add newline at end of file mysql-test/include/reset_master_and_slave.inc: rpl_reset.inc replaces this file mysql-test/include/restart_mysqld.inc: force caller to use rpl_restart_server.inc instead if replication is configured mysql-test/include/rpl_change_topology.inc: New file to change replication topology on the fly. This is used by rpl_init.inc internally, but is also used by test cases that need to change topology (e.g., rpl.rpl_circular_for_4_hosts, which reconfigures the topology to make a failover). mysql-test/include/rpl_connect.inc: New file to create a named connection. This file knows about a number of "standard" connections (master, slave, server_1, etc), and knows how each of them should normally be created. This is mostly used internally (e.g., by rpl_init.inc, master-slave.inc, ndb_master-slave_2ch.inc etc), but can also be used by tests that need to bring a connection up after disconnecting. mysql-test/include/rpl_connection.inc: New file to change connection. This prints the name of the connection. However, for files that source rpl_begin_include_file.inc, it does not print the name of the connection unless $rpl_debug=1. This is good because printing something every time the .inc file changed connection would make the result log harder to read. mysql-test/include/rpl_diff.inc: - Made file capable to compare many servers - Hence renamed it to rpl_diff.inc - If no server list is specified, use all servers from server_1 to server_$rpl_server_count - It now writes the statement to file before executing it. That means it will be subject to SQL string interpolation, but not shell string interpolation (which may be platform-dependent) mysql-test/include/rpl_diff_tables.inc: Removed this file, since its functionality has been merged into diff_tables.inc. mysql-test/include/rpl_end.inc: Renamed master-slave-end.inc to rpl_end.inc, and made it work with arbitrary replication topologies (as configured with rpl_init.inc and possibly rpl_change_topology.inc). Also made it assert that no slave thread has an error. Made it assert that no slave thread is stopped, unless $rpl_only_running_threads=1. mysql-test/include/rpl_for_each_slave.inc: New test script that executes a command once for each slave. This is used by include/rpl_start_slaves.inc and include/rpl_stop_slaves.inc and could possibly be useful for other custom scripts too. mysql-test/include/rpl_generate_sync_chain.inc: New file that computes the variable $rpl_sync_chain. This variable determines in what order slaves are synced by include/rpl_sync.inc. The variable is recomputed the first time that include/rpl_sync.inc is called after rpl_change_topology.inc. mysql-test/include/rpl_init.inc: Made file work for arbitrary topologies instead of just 4-server circle. This file is used by master-slave.inc, rpl_master-slave_2ch.inc etc, and also by tests that need other specific replication topologies. mysql-test/include/rpl_reconnect.inc: New auxiliary file that will reconnect many clients to a given server. All clients configured by rpl_init.inc will reconnect. mysql-test/include/rpl_reset.inc: Made file work for arbitrary replication topologies, check for errors, and sync all threads. Also removed 'drop table' because that has nothing to do with replication. mysql-test/include/rpl_restart_server.inc: New auxiliary file that restarts a server. mysql-test/include/rpl_start_server.inc: New auxiliary file that starts a server that has been shut down. mysql-test/include/rpl_start_slaves.inc: New auxiliary file to start all slaves configured by rpl_init.inc This is used internally by rpl_init.inc but may also be used by tests that want to bring all slaves up. mysql-test/include/rpl_stop_server.inc: New auxiliary file that shuts down a server. mysql-test/include/rpl_stop_slaves.inc: New auxiliary file to stop all slaves configured rpl_init.inc. This is used internally by rpl_end.inc, but may also be used by tests that want to stop all slaves. mysql-test/include/rpl_sync.inc: Made file work for arbitrary replication topologies (as configured by rpl_init.inc and possibly rpl_change_topology.inc) instead of just 4-server circle. mysql-test/include/save_master_pos.inc: Auxiliary file to save the master position. mysql-test/include/setup_fake_relay_log.inc: - Moved complicated logic to write to file into write_var_to_file.inc, so that it can be re-used by other tests. - Added call to show_rpl_debug_info and die in error case. mysql-test/include/show_rpl_debug_info.inc: - Made file print NOW() - Made file print both SHOW MASTER STATUS, SHOW SLAVE HOSTS, and SHOW SLAVE STATUS. - Made file print debug info for all servers configured by rpl_init.inc mysql-test/include/show_slave_status.inc: - Made file use echo instead of SELECT to print variables. - Improved comments. - Use variable names that are less likely to be used by other tests. mysql-test/include/start_slave.inc: - Made test use rpl_begin_include_file.inc to improve debug capabilities. - improved documentation mysql-test/include/stop_slave.inc: - Made script capable to detect which threads are running and stop only those. - Improved documentation mysql-test/include/stop_slave_io.inc: Added file to stop the slave IO thread. mysql-test/include/stop_slave_sql.inc: Added file to stop the slave SQL thread. mysql-test/include/sync_io_with_master.inc: Added file to sync the IO thread of the current connection, up to a previously saved position. mysql-test/include/sync_slave_io_with_master.inc: - Made file work with arbitrarily-named connections. - Made file use rpl_begin_include_file.inc to improve debug capabilities. mysql-test/include/sync_slave_sql_with_io.inc: Added file to sync only the SQL thread, up to the position copied in the IO thread. mysql-test/include/wait_for_query_to_fail.inc: Added file to wait for a query to fail. mysql-test/include/wait_for_slave_io_error.inc: - Use rpl_begin_include_file.inc to improve debug capabilities. - Use existing atom include/show_slave_status.inc to print error message. - Improve comments. ****** - This file now waits until the slave IO thread has completely stopped (to avoid races in tests). - Some IO thread errors are non-fatal and don't cause the slave IO thread to stop. To allow tests to wait for such errors, we add the parameters $slave_io_error_is_nonfatal. If $slave_io_error_is_nonfatal is set, this script does not wait for the IO thread to stop. mysql-test/include/wait_for_slave_io_to_start.inc: - Made script fail if the IO thread has an error. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_io_to_stop.inc: - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc to improve debug capabilities. - Improved documentation. mysql-test/include/wait_for_slave_param.inc: - Added $slave_error_param. This variable can be set to Slave_IO_Errno or Slave_SQL_Errno, in which case the script fails if the corresponding column in the output from SHOW SLAVE STATUS is nonzero. - Replaced exit by die. - Made it print timeout seconds correctly in error message. - Removed $slave_error_message. This is not needed. - Use rpl_begin_include_file.inc for better debug capabilities. mysql-test/include/wait_for_slave_sql_error.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation - Use existing atom show_slave_status.inc to print error. mysql-test/include/wait_for_slave_sql_error_and_skip.inc: - Use rpl_begin_include_file.inc and rpl_connection.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_sql_to_stop.inc: - Fail if Last_SQL_Errno is nonzero. - Fail if server is not configured as slave. Previously, the script accepted servers not configured as slave because there was cleanup code called from master-slave.inc that would execute STOP SLAVE on both master and slave. Now all tests have to clean up after themselves, so we don't have to call stop slave at the beginning of tests. Hence, we disallow calling this script on servers not configured as slaves. - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_start.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/wait_for_slave_to_stop.inc: - Use rpl_begin_include_file.inc for better debug capabilities. - Improve documentation mysql-test/include/write_var_to_file.inc: Added file to write contents of a mysqltest variable to file. (This was previously in setup_fake_relay_log.inc) mysql-test/mysql-test-run.pl: Allow tests to require restart in case the test is skipped. mysql-test/r/init_file.result: updated result file mysql-test/r/mysqldump_restore.result: update result file mysql-test/suite/binlog/r/binlog_drop_if_exists.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_old_versions.result: updated result file mysql-test/suite/binlog/r/binlog_query_filter_rules.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_server_id.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sf.result: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/r/binlog_sql_mode.result: updated result file mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: This test replicates, so it should be in the rpl suite. Then we can remove this .opt file too. mysql-test/suite/binlog/t/binlog_drop_if_exists.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_old_versions.test: cosmetic fixes mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_query_filter_rules.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_server_id.test: Moved test that does not use replication to binlog suite. mysql-test/suite/binlog/t/binlog_sf.test: Moved test that does not use replication to binlog suite. Since test sets binlog_format internally, it's useless to re-run it. Hence we source have_binlog_format_statement.inc mysql-test/suite/binlog/t/binlog_sql_mode.test: - Test does not use replication, so we remove master-slave.inc. - mysqltest magically adds --force-if-open to $MYSQL_BINLOG in test files that source master-slave.inc. So now we have to add --force-if-open explicitly. mysql-test/suite/bugs/t/rpl_bug12691.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug23533.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug31582.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug31583.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug33029.test: made test clean up after itself mysql-test/suite/bugs/t/rpl_bug36391.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug37426.test: made test clean up after itself cosmetic fixes mysql-test/suite/bugs/t/rpl_bug38205.test: made test clean up after itself mysql-test/suite/manual/t/rpl_replication_delay.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test: made test clean up after itself cosmetic fixes mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test: made test clean up after itself mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test: made test clean up after itself cosmetic fixes mysql-test/suite/parts/r/rpl_partition.result: updated result file mysql-test/suite/parts/t/rpl_partition.test: Make test clean up replication state. cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_ddl.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/include/rpl_mixed_dml.inc: made test clean up after itself cosmetic fixes mysql-test/suite/rpl/r/rpl_000010.result: update result file mysql-test/suite/rpl/r/rpl_000011.result: update result file mysql-test/suite/rpl/r/rpl_000013.result: update result file mysql-test/suite/rpl/r/rpl_000017.result: update result file mysql-test/suite/rpl/r/rpl_EE_err.result: update result file mysql-test/suite/rpl/r/rpl_LD_INFILE.result: update result file mysql-test/suite/rpl/r/rpl_alter.result: update result file mysql-test/suite/rpl/r/rpl_alter_db.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_11932.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result: update result file mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: update result file mysql-test/suite/rpl/r/rpl_binlog_corruption.result: Updated result file mysql-test/suite/rpl/r/rpl_binlog_errors.result: updated result file mysql-test/suite/rpl/r/rpl_binlog_grant.result: update result file mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: Updated result file mysql-test/suite/rpl/r/rpl_bit.result: update result file mysql-test/suite/rpl/r/rpl_bit_npk.result: update result file mysql-test/suite/rpl/r/rpl_blackhole.result: update result file mysql-test/suite/rpl/r/rpl_bug26395.result: update result file mysql-test/suite/rpl/r/rpl_bug31076.result: update result file mysql-test/suite/rpl/r/rpl_bug33931.result: updated result file mysql-test/suite/rpl/r/rpl_bug38694.result: update result file mysql-test/suite/rpl/r/rpl_change_master.result: update result file mysql-test/suite/rpl/r/rpl_charset.result: update result file mysql-test/suite/rpl/r/rpl_charset_sjis.result: update result file mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: Updated result file mysql-test/suite/rpl/r/rpl_colSize.result: update result file mysql-test/suite/rpl/r/rpl_commit_after_flush.result: update result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: update result file mysql-test/suite/rpl/r/rpl_conditional_comments.result: update result file mysql-test/suite/rpl/r/rpl_create_database.result: update result file mysql-test/suite/rpl/r/rpl_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_cross_version.result: Updated result file mysql-test/suite/rpl/r/rpl_current_user.result: update result file mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: update result file mysql-test/suite/rpl/r/rpl_delete_no_where.result: update result file mysql-test/suite/rpl/r/rpl_do_grant.result: updated result file mysql-test/suite/rpl/r/rpl_drop.result: update result file mysql-test/suite/rpl/r/rpl_drop_db.result: update result file mysql-test/suite/rpl/r/rpl_drop_temp.result: update result file mysql-test/suite/rpl/r/rpl_drop_view.result: update result file mysql-test/suite/rpl/r/rpl_dual_pos_advance.result: update result file mysql-test/suite/rpl/r/rpl_empty_master_crash.result: update result file mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: update result file mysql-test/suite/rpl/r/rpl_events.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result: update result file mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result: update result file mysql-test/suite/rpl/r/rpl_failed_optimize.result: update result file mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: update result file mysql-test/suite/rpl/r/rpl_flushlog_loop.result: update result file mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result: update result file mysql-test/suite/rpl/r/rpl_found_rows.result: update result file mysql-test/suite/rpl/r/rpl_free_items.result: update result file mysql-test/suite/rpl/r/rpl_geometry.result: update result file mysql-test/suite/rpl/r/rpl_get_lock.result: update result file mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: update result file mysql-test/suite/rpl/r/rpl_grant.result: update result file mysql-test/suite/rpl/r/rpl_idempotency.result: update result file mysql-test/suite/rpl/r/rpl_ignore_grant.result: update result file mysql-test/suite/rpl/r/rpl_ignore_revoke.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table.result: update result file mysql-test/suite/rpl/r/rpl_ignore_table_update.result: update result file mysql-test/suite/rpl/r/rpl_incident.result: update result file mysql-test/suite/rpl/r/rpl_init_slave.result: update result file mysql-test/suite/rpl/r/rpl_init_slave_errors.result: update result file mysql-test/suite/rpl/r/rpl_innodb.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: update result file mysql-test/suite/rpl/r/rpl_innodb_bug30888.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: update result file mysql-test/suite/rpl/r/rpl_insert.result: update result file mysql-test/suite/rpl/r/rpl_insert_id.result: update result file mysql-test/suite/rpl/r/rpl_insert_id_pk.result: update result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: update result file mysql-test/suite/rpl/r/rpl_insert_select.result: update result file mysql-test/suite/rpl/r/rpl_invoked_features.result: update result file mysql-test/suite/rpl/r/rpl_killed_ddl.result: update result file mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: update result file mysql-test/suite/rpl/r/rpl_load_from_master.result: update result file mysql-test/suite/rpl/r/rpl_load_table_from_master.result: update result file mysql-test/suite/rpl/r/rpl_loaddata.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_charset.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_concurrent.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_m.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_map.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_s.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_simple.result: update result file mysql-test/suite/rpl/r/rpl_loaddata_symlink.result: update result file mysql-test/suite/rpl/r/rpl_loaddatalocal.result: update result file mysql-test/suite/rpl/r/rpl_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_locale.result: update result file mysql-test/suite/rpl/r/rpl_log_pos.result: update result file mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: update result file mysql-test/suite/rpl/r/rpl_many_optimize.result: update result file mysql-test/suite/rpl/r/rpl_master_pos_wait.result: update result file mysql-test/suite/rpl/r/rpl_misc_functions.result: update result file mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result: update result file mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete.result: update result file mysql-test/suite/rpl/r/rpl_multi_delete2.result: update result file mysql-test/suite/rpl/r/rpl_multi_engine.result: update result file mysql-test/suite/rpl/r/rpl_multi_update.result: update result file mysql-test/suite/rpl/r/rpl_multi_update2.result: update result file mysql-test/suite/rpl/r/rpl_multi_update3.result: update result file mysql-test/suite/rpl/r/rpl_multi_update4.result: update result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: update result file mysql-test/suite/rpl/r/rpl_name_const.result: update result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: update result file mysql-test/suite/rpl/r/rpl_not_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_not_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_optimize.result: update result file mysql-test/suite/rpl/r/rpl_packet.result: update result file mysql-test/suite/rpl/r/rpl_plugin_load.result: update result file mysql-test/suite/rpl/r/rpl_ps.result: update result file mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: update result file mysql-test/suite/rpl/r/rpl_read_only.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_innodb.result: update result file mysql-test/suite/rpl/r/rpl_relay_space_myisam.result: update result file mysql-test/suite/rpl/r/rpl_relayrotate.result: update result file mysql-test/suite/rpl/r/rpl_relayspace.result: update result file mysql-test/suite/rpl/r/rpl_replicate_do.result: update result file mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result: update result file mysql-test/suite/rpl/r/rpl_report.result: update result file mysql-test/suite/rpl/r/rpl_rewrt_db.result: update result file mysql-test/suite/rpl/r/rpl_rotate_logs.result: update result file mysql-test/suite/rpl/r/rpl_row_001.result: update result file mysql-test/suite/rpl/r/rpl_row_4_bytes.result: update result file mysql-test/suite/rpl/r/rpl_row_NOW.result: update result file mysql-test/suite/rpl/r/rpl_row_USER.result: update result file mysql-test/suite/rpl/r/rpl_row_UUID.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_blob_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_colSize.result: update result file mysql-test/suite/rpl/r/rpl_row_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_row_delayed_ins.result: update result file mysql-test/suite/rpl/r/rpl_row_drop.result: update result file mysql-test/suite/rpl/r/rpl_row_find_row.result: update result file mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_row_func001.result: update result file mysql-test/suite/rpl/r/rpl_row_func002.result: update result file mysql-test/suite/rpl/r/rpl_row_func003.result: update result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_row_log.result: update result file mysql-test/suite/rpl/r/rpl_row_log_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_row_sp001.result: update result file mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp003.result: update result file mysql-test/suite/rpl/r/rpl_row_sp005.result: update result file mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result: update result file mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_sp008.result: update result file mysql-test/suite/rpl/r/rpl_row_sp009.result: update result file mysql-test/suite/rpl/r/rpl_row_sp010.result: update result file mysql-test/suite/rpl/r/rpl_row_sp011.result: update result file mysql-test/suite/rpl/r/rpl_row_sp012.result: update result file mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result: update result file mysql-test/suite/rpl/r/rpl_row_trig001.result: update result file mysql-test/suite/rpl/r/rpl_row_trig002.result: update result file mysql-test/suite/rpl/r/rpl_row_trig003.result: update result file mysql-test/suite/rpl/r/rpl_row_trig004.result: update result file mysql-test/suite/rpl/r/rpl_row_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result: update result file mysql-test/suite/rpl/r/rpl_row_until.result: update result file mysql-test/suite/rpl/r/rpl_row_view01.result: update result file mysql-test/suite/rpl/r/rpl_row_wide_table.result: update result file mysql-test/suite/rpl/r/rpl_server_id1.result: update result file mysql-test/suite/rpl/r/rpl_server_id2.result: update result file mysql-test/suite/rpl/r/rpl_session_var.result: update result file mysql-test/suite/rpl/r/rpl_set_charset.result: update result file mysql-test/suite/rpl/r/rpl_set_null_innodb.result: update result file mysql-test/suite/rpl/r/rpl_set_null_myisam.result: update result file mysql-test/suite/rpl/r/rpl_show_slave_running.result: update result file mysql-test/suite/rpl/r/rpl_skip_error.result: update result file mysql-test/suite/rpl/r/rpl_slave_grp_exec.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_in.result: update result file mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result: Updated result file mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result: updated result file mysql-test/suite/rpl/r/rpl_slave_skip.result: update result file mysql-test/suite/rpl/r/rpl_slave_status.result: update result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: update result file mysql-test/suite/rpl/r/rpl_sp.result: update result file mysql-test/suite/rpl/r/rpl_sp004.result: update result file mysql-test/suite/rpl/r/rpl_sp_effects.result: update result file mysql-test/suite/rpl/r/rpl_sporadic_master.result: update result file mysql-test/suite/rpl/r/rpl_ssl.result: update result file mysql-test/suite/rpl/r/rpl_ssl1.result: update result file mysql-test/suite/rpl/r/rpl_start_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_000001.result: update result file mysql-test/suite/rpl/r/rpl_stm_EE_err2.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: update result file mysql-test/suite/rpl/r/rpl_stm_binlog_direct.result: update result file mysql-test/suite/rpl/r/rpl_stm_conflicts.result: update result file mysql-test/suite/rpl/r/rpl_stm_create_if_not_exists.result: update result file mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result: update result file mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result: update result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: update result file mysql-test/suite/rpl/r/rpl_stm_log.result: update result file mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: update result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: update result file mysql-test/suite/rpl/r/rpl_stm_multi_query.result: update result file mysql-test/suite/rpl/r/rpl_stm_no_op.result: update result file mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: update result file mysql-test/suite/rpl/r/rpl_stm_sql_mode.result: update result file mysql-test/suite/rpl/r/rpl_stm_until.result: update result file mysql-test/suite/rpl/r/rpl_stop_slave.result: update result file mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: update result file mysql-test/suite/rpl/r/rpl_temp_table.result: update result file mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result: update result file mysql-test/suite/rpl/r/rpl_temporary.result: update result file mysql-test/suite/rpl/r/rpl_temporary_errors.result: update result file mysql-test/suite/rpl/r/rpl_test_framework.result: updated result file mysql-test/suite/rpl/r/rpl_timezone.result: Updated result file mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result: update result file mysql-test/suite/rpl/r/rpl_trigger.result: update result file mysql-test/suite/rpl/r/rpl_trunc_temp.result: update result file mysql-test/suite/rpl/r/rpl_truncate_2myisam.result: update result file mysql-test/suite/rpl/r/rpl_truncate_3innodb.result: update result file mysql-test/suite/rpl/r/rpl_typeconv_innodb.result: update result file mysql-test/suite/rpl/r/rpl_udf.result: update result file mysql-test/suite/rpl/r/rpl_user.result: update result file mysql-test/suite/rpl/r/rpl_user_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables.result: update result file mysql-test/suite/rpl/r/rpl_variables_stm.result: update result file mysql-test/suite/rpl/r/rpl_view.result: update result file mysql-test/suite/rpl/t/rpl000017-slave.sh: Moved contents of -slave.sh into test. mysql-test/suite/rpl/t/rpl_000010-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_000013.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_000017-slave.opt: make all rpl tests use prefix rpl_ mysql-test/suite/rpl/t/rpl_000017.test: Moved contents of -slave.sh into .test Made test clean up replication state. mysql-test/suite/rpl/t/rpl_EE_err.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_alter.test: made test clean up after itself replaced rpl_diff_tables by diff_tables cosmetic fixes mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_auto_increment.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_auto_increment_11932.test: Made test clean up replication state. don't drop database twice mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test: - This test replicates, so moved it to rpl suite. - This test uses a fake relay log, so use include/setup_fake_relay_log.inc and cleanup_fake_relay_log.inc instead of ad-hoc code. - Made test clean up replication state (rpl_end.inc) mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: renamed rpl_end.inc to master-slave-end.inc mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt: Got rid of useless -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_corruption.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_binlog_errors.test: made test use rpl_restart_server.inc instead of restart_mysqld.inc mysql-test/suite/rpl/t/rpl_binlog_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_bit.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bit_npk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_blackhole.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug26395.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug31076.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_bug33931.test: Made test clean up replication state. Made test use source include/master-slave.inc instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_bug38694.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_change_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_charset_sjis.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: Use new names of mtr variables (introduced by the changes in include/circular_rpl_init.inc). mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test: - Use rpl_init.inc instead of circular_rpl_for_4_hosts.inc. Connections have been renamed (server_[1234] instead of master_[abcd]), we use rpl_sync.inc instead of circular_rpl_for_4_hosts_sync.inc, we use the new rpl_end.inc to clean up instead of doing it manually, and we use rpl_change_topology.inc instead of manual reconfiguration. - Added comment to make test understandable. - the test contained a race condition. server_4 was not sync'ed. This could cause sql_slave_skip_counter to have the value 1 when the test ended, so check-testcase would complain. Added 'sync_slave_with_master server_4'. mysql-test/suite/rpl/t/rpl_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_concurrency_error.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_conditional_comments.test: made test clean up after itself new protocol for diff_tables.inc mysql-test/suite/rpl/t/rpl_create_database.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_create_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_critical_errors.test: Made test clean up replication state. Fixed syntax error in test. mysql-test/suite/rpl/t/rpl_cross_version.test: Made test clean up replication state. Made test execute on slave connection instead of on master connection. This allows us to get rid of -master.opt file. mysql-test/suite/rpl/t/rpl_current_user.cnf: use environment variables recognized by rpl_init.inc mysql-test/suite/rpl/t/rpl_current_user.test: - Use rpl_init.inc instead of ad-hoc three-server setup. Hence, rename connection slave2 to server_3 - don't drop lots of things at the beginning of the test - rpl_diff_tables.inc does not sync any more, so we have to sync here instead - renamed $diff_table to $rpl_diff_table and $diff_table_list to $rpl_diff_table_list - use diff_tables.inc instead of rpl_diff_tables.inc mysql-test/suite/rpl/t/rpl_ddl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_deadlock_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_delete_no_where.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_do_grant.test: Made test clean up replication state. renamed master-slave-end.inc to rpl_end.inc use include/check_slave_no_error.inc instead of ad-hoc construction mysql-test/suite/rpl/t/rpl_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_dual_pos_advance.test: Made test use the new framework for circular replication, instead of ad-hoc setup. mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_failed_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: renamed master-slave-end.inc to rpl_end.inc mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Removed useless options from -master.opt file. mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh: Removed useless -master.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Removed useless options from -slave.opt file mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh: Removed useless -slave.sh file mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Made test use new framework for circular replication, instead of ad-hoc setup. Made test clean up replication state. mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_found_rows.test: Made test clean up replication state. replaced reset_master_and_slave.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_free_items.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_geometry.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_get_lock.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test: Made test clean up replication state. Removed last part of test, because it was verbatim identical to rpl_server_id1.test mysql-test/suite/rpl/t/rpl_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_idempotency.test: use check_slave_no_error.inc instead of ad-hoc tests use wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ignore_grant.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_revoke.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ignore_table_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_incident.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_init_slave_errors.test: Made test clean up replication state. Also replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_innodb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug28430.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_bug30888.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_id.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_id_pk.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_insert_ignore.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_insert_select.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_invoked_features.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_killed_ddl.test: - Made test clean up replication state. - renamed diff_master_slave.inc to rpl_diff.inc and renamed $diff_statement to $rpl_diff_statement mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: - Made test clean up replication state. - removed wait_for_slave_sql_to_stop.inc, because it already does wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_load_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_m.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_map.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_s.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddata_symlink.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_loadfile.test: - Made test clean up replication state. - replace reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_locale.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_log_pos.test: Made test clean up replication state. replace stop_slave.inc by stop_slave_sql.inc since the io thread is already stopped. mysql-test/suite/rpl/t/rpl_manual_change_index_file.test: use wait_for_slave_io_error.inc instead of wait_for_slave_to_stop.inc replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_many_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_misc_functions.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_delete2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_engine.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_multi_update2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update3.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_multi_update4.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_name_const.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. - diff_tables.inc also restores the connection to what it was before, so in this test we have to manually change connection after sourcing diff_tables.inc mysql-test/suite/rpl/t/rpl_not_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_not_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_optimize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_packet.test: - Made test clean up replication state. - replace wait_for_slave_io_to_stop.inc by wait_for_slave_io_error.inc - replace master-slave-reset.inc by rpl_reset.inc + drop table t1. - replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. - added comment explaining why we need stop_slave_sql.inc (we shouldn't need it, it's a bug) mysql-test/suite/rpl/t/rpl_plugin_load.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_ps.test: Made test clean up replication state. removed lots os useless junk mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_read_only.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relay_space_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relay_space_myisam.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_relayrotate.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_relayspace.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_do.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_report.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rewrt_db.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Got rid of unnecessary -slave.opt file mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh: Got rid of unnecessary -slave.sh file mysql-test/suite/rpl/t/rpl_rotate_logs.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc - removed useless cleanup at beginning of test - did not make test use the standard replication framework (master-slave.inc + rpl_end.inc), because it won't work. i don't know why. mysql-test/suite/rpl/t/rpl_row_001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_4_bytes.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_NOW.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_USER.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_UUID.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Made test clean up replication state. Removed unnecessary 'set binlog_format'. replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_basic_8partition.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_colSize.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_conflicts.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_create_table.test: replace master-slave-end.inc by rpl_end.inc replace master-slave-reset.inc by rpl_reset.inc replace long sequence of reset master+reset slave by rpl_reset.inc mysql-test/suite/rpl/t/rpl_row_delayed_ins.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_drop.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_find_row.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_func001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_func003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Made test clean up replication state. replace wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc mysql-test/suite/rpl/t/rpl_row_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test: Made test clean up replication state mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test: - replace master-slave-reset.inc by rpl_reset.inc - Made test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_sp001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp005.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_row_sp008.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp009.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp010.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp011.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_sp012.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test: - replaced master-slave-reset.inc by rpl_reset.inc - replaced master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_row_trig001.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig002.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig003.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trig004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_trunc_temp.test: replaced master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_until.test: Made test clean up replication state. Removed unused mtr variable $VERSION. mysql-test/suite/rpl/t/rpl_row_view01.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_row_wide_table.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_server_id1.test: - Replaced ad-hoc setup of circular replication by call to rpl_init.inc - Made test clean up replication state. - Replaced ad-hoc use of wait_for_slave_param.inc by wait_for_slave_io_error.inc mysql-test/suite/rpl/t/rpl_server_id2.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_session_var.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_charset.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_set_null_myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_show_slave_running.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_skip_error.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_grp_exec.test: - Made test clean up replication state. - replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error.inc - replaced stop_slave.inc by stop_slave_io.inc where the sql thread was already stopped. mysql-test/suite/rpl/t/rpl_slave_load_in.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test: - Made test clean up replication state. - Replaced call to wait_for_slave_sql_to_stop.inc by call to wait_for_slave_sql_error.inc - Replaced ad-hoc repliction setup by call to master-slave.inc mysql-test/suite/rpl/t/rpl_slave_skip.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_slave_status.test: Made test clean up replication state. replaced check that IO thread has stopped by wait_for_slave_io_error.inc simplified cleanup code mysql-test/suite/rpl/t/rpl_slow_query_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp004.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sp_effects.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_sporadic_master.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_ssl1.test: Made test clean up replication state. Replaced save_master_pos+connection slave+sync_slave_with_master by sync_slave_with_master mysql-test/suite/rpl/t/rpl_start_stop_slave.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_000001.test: The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. Also made test clean up replication state, and replaced wait_for_slave_sql_to_stop.inc by wait_for_slave_sql_error_and_skip.inc mysql-test/suite/rpl/t/rpl_stm_000001.test: - The include file extra/rpl_tests/rpl_stm_000001.test was only sourced once, in suite/rpl/t/rpl_stm_000001.test. Moved extra/rpl_tests/rpl_stm_000001.test to suite/rpl/t/rpl_stm_000001.test and removed the old suite/rpl/t/rpl_stm_000001.test. mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_binlog_direct.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_conflicts.test: replaced master-slave-end.inc by rpl_end.inc cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_create_if_not_exists.test: use rpl_end instead of master-slave-end. mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_loadfile.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_log.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test: - replaced master-slave-end.inc by rpl_end.inc - replaced master-slave-reset.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_stm_multi_query.test: cosmetic fixes mysql-test/suite/rpl/t/rpl_stm_no_op.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_stm_sql_mode.test: made test clean up replication state mysql-test/suite/rpl/t/rpl_stm_until.test: - Made test clean up replication state. - replaced master-slave-reset.inc by rpl_reset.inc - the relay log is now called slave-relay-bin.000003 instead of .000004, because master-slave.inc doesn't rotate it as much as before. mysql-test/suite/rpl/t/rpl_stop_slave.test: use rpl_end instead of master-slav-end mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_temp_table.test: Made test clean up replication state. Replaced save_master_pos/connection slave/sync_with_master by sync_slave_with_master. mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test: Made test clean up replication state. replaced ad-hoc call to 'connect' by include/rpl_connect.inc replaced master-slave-reset.inc by rpl_reset.inc mysql-test/suite/rpl/t/rpl_temporary.test: - Made test clean up replication state. - This test sources include/delete_anonymous_users.inc on master. This means it updates the user table in the mysql database manually on the master. This causes failure in the slave sql thread when binlog_format=row. Hence, we stop the slave first and source include/delete_anonymous_users.inc on both master and slave. mysql-test/suite/rpl/t/rpl_temporary_errors.test: Made test clean up replication state. cosmetic fixes mysql-test/suite/rpl/t/rpl_test_framework.cnf: new cfg file for new test mysql-test/suite/rpl/t/rpl_test_framework.test: new test case that verifies that include/rpl_change_topology.inc works mysql-test/suite/rpl/t/rpl_timezone.test: - Made test clean up replication state. - stop slave before last sub-test, because that test does not use the slave connection. mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_trigger.test: - Made test clean up replication state. - replace master-slave-reset.inc by rpl_reset.inc - use new file rpl_reconnect.inc instead of ad-hoc code - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_trunc_temp.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_2myisam.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_truncate_3innodb.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: - made test clean up replication state - removed unnecessary call to master-slave-reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_udf.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_user_variables.test: Made test clean up replication state. mysql-test/suite/rpl/t/rpl_variables.test: - Made test clean up replication state. - replaced reset_master_and_slave.inc by rpl_reset.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_variables_stm.test: - Made test clean up replication state. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl/t/rpl_view.test: Made test clean up replication state. mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: updated result file mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: - replaced master-slave-end.inc by rpl_end.inc - removed wait_for_slave_sql_to_stop since it is followed by wait_for_slave_sql_error.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: made test use rpl_init.inc to setup circular replication, instead of ad-hoc setup made test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: removed automatic configuration of server as slave. this is not needed because rpl_init.inc does it. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: - made test clean up replication state - it seems that sync_slave_with_master does not work deterministically here, so instead we wait for 'drop table' to replicate by checking when the table disappears on slave. - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: make test clean up replication state use rpl_change_topology.inc to reconfigure replication topology, instead of ad-hoc call to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test: - replace master-slave-end.inc by rpl_end.inc - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test: - make test clean up replication state - diff_tables.inc now takes only one parameter. mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: - make test clean up replication state - use rpl_change_topology.inc to change replication topology, instead of ad-hoc calls to change master mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: make test clean up replication state mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: replace master-slave-end.inc by rpl_end.inc mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test: make test clean up replication state mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: made test clean up after itself mysql-test/t/init_file.test: use new file force_restart.inc instead of SP
2010-12-19 18:07:28 +01:00
--let $include_filename= diff_tables.inc [$diff_tables]
--source include/end_include_file.inc