Commit graph

1149 commits

Author SHA1 Message Date
Bjorn Munch
ebba068d26 Bug #11762804 55442: MYSQLD DEBUG CRASHES WHILE RUNNING MYISAM_CRASH_BEFORE_FLUSH_KEYS.TEST
This will cause affected tests to skip if CrashReporter would popup
Found 5 tests that needed modification
2011-03-15 16:06:59 +01:00
Bjorn Munch
8b3f956020 Bug #11762407 54999: MTR GLOBAL SUPPRESSION HIDES SQL THREAD EXECUTION UNEXPECTED ERRORS
Removed the global suppression, added lots of local ones to affected tests
Re-commit, now kept "Slave SQL" at start of patterns.
2011-02-23 10:31:37 +01:00
John H. Embretsen
994132add6 Fix for Bug#59837 - mysqlhotcopy fails with wrong error (11) on specific platforms:
Test failed on a certain Linux platform in automated environment. It turns out that this platform has an old version of Perl modules DBI and DBD::mysql installed, as well as the OS itself being relatively old.
Allowing error code 11 to be returned from mysqlhotcopy on expected error seems harmless and will make the test pass also with older libraries.
2011-02-08 10:51:09 +01:00
Luis Soares
7c8c7c27b5 BUG#59147: Automerged bzr bundle form bug report into mysql-5.1 . 2011-02-04 14:57:51 +00:00
Luis Soares
cb10771fd8 BUG#59147: rpl_circular_for_4_hosts fails sporadically
There is one part of the test case that needs to break
and re-establish the circular topology. For this the test
stops the slave threads on a couple of servers and restarts
them with START SLAVE. However, no check is done on the
status of the IO or SQL threads before proceeding with
the subsequent commands.
      
Because rpl_only_running_threads is set to 1 this can lead
to silently not syncing all slave threads as expected, 
ultimately resulting in unexpected results (and consequently
on a failing test run).
      
We fix this by replacing the START SLAVE instructions with
calls to --source include/start_slave.inc, which will wait
for the slave threads to be running (show 'Yes' in 
Slave_IO|SQL_Running fields of SHOW SLAVE STATUS) before 
proceeding. Additionally, we change rpl_sync.inc to make the
IO thread report that it is running when its running status
is any other than 'No'.
2011-02-03 16:09:33 +00:00
Dmitry Lenev
e805a0fd9d Fix for bug #58650 "Failing assertion: primary_key_no == -1 ||
primary_key_no == 0".

Attempt to create InnoDB table with non-nullable column of
geometry type having an unique key with length 12 on it and
with some other candidate key led to server crash due to
assertion failure in both non-debug and debug builds.

The problem was that such a non-candidate key could have
been sorted as the first key in table/.FRM, before any legit
candidate keys. This resulted in assertion failure in InnoDB
engine which assumes that primary key should either be the
first key in table/.FRM or should not exist at all.

The reason behind such an incorrect sorting was an wrong
value of Create_field::key_length member for geometry field
(which was set to its pack_length == 12) which confused code
in mysql_prepare_create_table(), so it would skip marking
such key as a key with partial segments.

This patch fixes the problem by ensuring that this member
gets the same value of Create_field::key_length member as 
for other blob fields (from which geometry field class is
inherited), and as result unique keys on geometry fields
are correctly marked as having partial segments.


mysql-test/include/gis_keys.inc:
  Added test case for bug #58650 "Failing assertion:
  primary_key_no == -1 || primary_key_no == 0".
mysql-test/r/gis.result:
  Added test case for bug #58650 "Failing assertion:
  primary_key_no == -1 || primary_key_no == 0".
mysql-test/suite/innodb/r/innodb_gis.result:
  Added test case for bug #58650 "Failing assertion:
  primary_key_no == -1 || primary_key_no == 0".
mysql-test/suite/innodb_plugin/r/innodb_gis.result:
  Added test case for bug #58650 "Failing assertion:
  primary_key_no == -1 || primary_key_no == 0".
sql/field.cc:
  Changed Create_field::create_length_to_internal_length() to
  correctly set Create_field::key_length member for geometry
  fields. Similar to the blob types key_length for such fields
  should be the same as length and not field's packed length
  (which is always 12 for geometry).
  
  As result of this change code handling table creation now
  always correctly identifies btree/unique keys on geometry
  fields as partial keys, so such keys can't be erroneously
  treated as candidate keys and sorted in keys array in .FRM
  before legit candidate keys.
  
  This fixes bug #58650 "Failing assertion: primary_key_no ==
  -1 || primary_key_no == 0" in which incorrect candidate key
  sorting led to assertion failure in InnoDB code.
2011-02-02 16:17:48 +03:00
Alfranio Correia
ee36bd7f46 merge mysql-5.1 (local) --> mysql-5.1 2011-01-31 10:08:58 +00:00
John H. Embretsen
26528be711 Fix for Bug#56817 - mysqlhotcopy tests fail when DBI and DBD-mysql perl modules are not found
Third updated patch - this version also includes copyright notice in added Perl script.
This patch implements a check for such modules at runtime. If modules are not found or unable to load, the test is skipped with 
the following message:
            
            [ skipped ]  Test needs Perl modules DBI and DBD::mysql
            
Checks are done via a helper Perl script which looks for the module in a runtime environment that is as similar to that of the 
mysqlhotcopy script as possible (thus not intended for Windows environments at this time).
The helper script tells mysql-test about the result by writing information to a temporary file that is later read by mysql-test.
See comments in added files (have_dbi_dbd-mysql.inc and checkDBI_DBD-mysql.pl) for details.
The patch also removes the mysqlhotcopy tests from the list of disabled tests.
2011-01-29 12:38:36 +01:00
Alfranio Correia
8ce9b99246 BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR
In SBR, if a statement does not fail, it is always written to the binary
log, regardless if rows are changed or not. If there is a failure, a
statement is only written to the binary log if a non-transactional (.e.g.
MyIsam) engine is updated.

INSERT ON DUPLICATE KEY UPDATE and INSERT IGNORE were not following the
rule above and were not written to the binary log, if then engine was
Innodb.

mysql-test/extra/rpl_tests/rpl_insert_duplicate.test:
  Added test case.
mysql-test/extra/rpl_tests/rpl_insert_ignore.test:
  Updated test case.
mysql-test/include/commit.inc:
  Updated test case as the calls to the binary log have changed
  for INSERT ON DUPLICATE and INSERT IGNORE.
mysql-test/r/commit_1innodb.result:
  Updated result file.
mysql-test/suite/rpl/r/rpl_insert_duplicate.result:
  Added test case.
mysql-test/suite/rpl/r/rpl_insert_ignore.result:
  Updated result file.
mysql-test/suite/rpl/t/rpl_insert_duplicate.test:
  Added test case.
mysql-test/suite/rpl/t/rpl_insert_ignore.test:
  Improved test case.
2011-01-28 12:09:15 +00:00
John H. Embretsen
9c2370c25a Merge two patches for bug 56895 into tip of mysql-5.1 branch. 2011-01-27 12:38:13 +01:00
Bjorn Munch
65d6cf7946 merge from 5.1 main 2011-01-19 11:19:54 +01:00
Libing Song
77bc81b89c Bug#58546 test rpl_packet timeout failure sporadically on PB
rpl_packet got a timeout failure sporadically on PB when stopping
slave. The real reason of this bug is that STOP SLAVE stopped
IO thread first and then stopped SQL thread. It was
possible that IO thread stopped after replicating part of a
transaction which SQL thread was executing. SQL thread would
be hung if the transaction could not be rolled back safely.
            
After this patch, STOP SLAVE will stop SQL thread first and then stop IO
thread, which guarantees that IO thread will fetch the reset of the
events of the transaction that SQL thread is executing, so that SQL
thread can finish the transaction if it cannot be rolled back safely.
            
Added below auxiliary files to make the test code neater.
restart_slave_sql.inc
rpl_connection_master.inc
rpl_connection_slave.inc
rpl_connection_slave1.inc
2011-01-19 01:23:49 +08:00
Bjorn Munch
00a6d119ea Bug #59063 rpl_migration_crash_safe fails on Windows
Undoing the patch, it complicates the code but is not the solution

I do not beleive newline mismatch could be the cause of this failure
First, I cannot see how this could be a problem, mtr ignores the newline
  when reading the expect file, and the file is written and read on Windows.
Second, if this really was the problem it should have been deterministic:
  either the newline is correctly interepreted or it is not.
2011-01-18 12:25:07 +01:00
John H. Embretsen
eb85bdfa6d Bug#56895 part 1 of 2: Backport of revid holyfoot@mysql.com-20100823084827-js10vjuil88je35r from mysql-5.5.
The purpose is to make MTR logic for mysqlhotcopy the same in 5.1 as in 5.5, making it easier to maintain and fix bugs such as 56817.
2011-01-14 14:50:39 +01:00
Sven Sandberg
faafae781a BUG#59063: rpl_migration_crash_safe fails on Windows
Backported the fix to 5.1.
Problem: the auxiliary test files rpl_start_server.inc and rpl_stop_server.inc
write a file that is later read by mtr. The bug was that the file was written
with platform-dependent newline terminators, i.e., \r\n on windows, whereas mtr
only understands \n.
Fix: write the file so that it uses \n on all platforms.


mysql-test/include/rpl_start_server.inc:
  Force test to use \n instead of platform-dependent newline terminator.
mysql-test/include/rpl_stop_server.inc:
  Force test to use \n instead of platform-dependent newline terminator.
2011-01-14 11:33:12 +01:00
Sven Sandberg
8b27f9a05e 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
Luis Soares
647c619393 BUG#46166: MYSQL_BIN_LOG::new_file_impl is not propagating error
when generating new name.
      
If find_uniq_filename returns an error, then this error is not
being propagated upwards, and execution does not report error to
the user (although a entry in the error log is generated).
                  
Additionally, some more errors were ignored in new_file_impl:
- when writing the rotate event
- when reopening the index and binary log file
                  
This patch addresses this by propagating the error up in the
execution stack. Furthermore, when rotation of the binary log
fails, an incident event is written, because there may be a
chance that some changes for a given statement, were not properly
logged. For example, in SBR, LOAD DATA INFILE statement requires
more than one event to be logged, should rotation fail while
logging part of the LOAD DATA events, then the logged data would
become inconsistent with the data in the storage engine.

mysql-test/include/restart_mysqld.inc:
  Refactored restart_mysqld so that it is not hardcoded for
  mysqld.1, but rather for the current server.
mysql-test/suite/binlog/t/binlog_index.test:
  The error on open of index and binary log on new_file_impl 
  is now caught. Thence the user will get an error message. 
  We need to accomodate this change in the test case for the
  failing FLUSH LOGS.
mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt:
  Sets max_binlog_size to 4096.
mysql-test/suite/rpl/t/rpl_binlog_errors.test:
  Added some test cases for asserting that the error is found 
  and reported.
sql/handler.cc:
  Catching error now returned by unlog (in ha_commit_trans) and 
  returning it.
sql/log.cc:
  Propagating errors from new_file_impl upwards. The errors that
  new_file_impl catches now are:
  - error on generate_new_name
  - error on writing the rotate event
  - error when opening the index or the binary log file.
sql/log.h:
  Changing declaration of:
  - rotate_and_purge
  - new_file
  - new_file_without_locking
  - new_file_impl
  - unlog
  They now return int instead of void.
sql/mysql_priv.h:
  Change signature of reload_acl_and_cache so that write_to_binlog
  is an int instead of bool.
sql/mysqld.cc:
  Redeclaring not_used var as int instead of bool.
sql/rpl_injector.cc:
  Changes to catch the return from rotate_and_purge.
sql/slave.cc:
  Changes to catch the return values for new_file and rotate_relay_log.
sql/slave.h:
  Changes to rotate_relay_log declaration (now returns int 
  instead of void).
sql/sql_load.cc:
  In SBR, some logging of LOAD DATA events goes through
  IO_CACHE_CALLBACK invocation at mf_iocache.c:_my_b_get. The
  IO_CACHE implementation is ignoring the return value for from
  these callbacks (pre_read and post_read), so we need to find out
  at the end of the execution if the error is set or not in THD.
sql/sql_parse.cc:
  Catching the rotate_relay_log and rotate_and_purge return values.
  Semantic change in reload_acl_and_cache so that we report errors
  in binlog interactions through the write_to_binlog output parameter.
  If there was any failure while rotating the binary log, we should
  then report the error to the client when handling SQLCOMM_FLUSH.
2010-11-30 23:32:51 +00:00
Bjorn Munch
7197f142cc merge from 5.1-mtr 2010-11-27 11:51:22 +01:00
Alexander Barkov
a7c09ea9f8 Bug#56639 Character Euro (0x88) not converted from cp1251 to utf8
Problem: MySQL cp1251 did not support 'U+20AC EURO SIGN'
which was assigned a few years ago to 0x88.

Fix: adding mapping: 0x88 <-> U+20AC 

  @ mysql-test/include/ctype_8bit.inc
  New shared file to test 8bit character sets.

  @ mysql-test/r/ctype_cp1251.result
  @ mysql-test/t/ctype_cp1251.test
  Adding tests

  @ sql/share/charsets/cp1251.xml
  Adding mapping

  @ strings/ctype-extra.c
  Regenerating ctype-extra.c using strings/conf_to_src
  according to new cp1251.xml
2010-11-26 16:58:54 +03:00
Bjorn Munch
067710eba1 Bug #58515 Tests: use use exec echo, not write_file to write mysqld.1.expect
Fixed as suggested in the .inc file and two tests
Could not reproduce problem, but tested tests on Windows
2010-11-26 13:59:39 +01:00
Bjorn Munch
dbbb506f42 merge from 5.1 up to rev 3471 2010-11-14 12:23:51 +01:00
Bjorn Munch
676e012e47 merge from 5.1-mtr 2010-10-25 15:48:41 +02:00
Bjorn Munch
909f0bf94a Follow-up to Bug #55582 which allows checking strings in if
Simplified cases where a select was used to compare variable against ''
2010-10-21 15:20:50 +02:00
Martin Hansson
30f57b3323 Bug#56423: Different count with SELECT and CREATE SELECT queries
This is a regression from the fix for bug no 38999. A storage engine capable
of reading only a subset of a table's columns updates corresponding bits in
the read buffer to signal that it has read NULL values for the corresponding
columns. It cannot, and should not, update any other bits. Bug no 38999
occurred because the implementation of UPDATE statements compare the NULL bits
using memcmp, inadvertently comparing bits that were never requested from the
storage engine. The regression was caused by the storage engine trying to
alleviate the situation by writing to all NULL bits, even those that it had no
knowledge of. This has devastating effects for the index merge algorithm,
which relies on all NULL bits, except those explicitly requested, being left
unchanged.

The fix reverts the fix for bug no 38999 in both InnoDB and InnoDB plugin and
changes the server's method of comparing records. For engines that always read
entire rows, we proceed as usual. For engines capable of reading only select
columns, the record buffers are now compared on a column by column basis. An
assertion was also added so that non comparable buffers are never read. Some
relevant copy-pasted code was also consolidated in a new function.
2010-10-07 10:13:11 +02:00
Bjorn Munch
64e189c37c merge from 5.1-mtr 2010-10-03 19:37:58 +02:00
Bjorn Munch
dae793978a merge from 5.1 2010-09-29 12:56:10 +02:00
Sergey Glukhov
31a38c0fc5 Bug#50402 Optimizer producing wrong results when using Index Merge on InnoDB
Subselect executes twice, at JOIN::optimize stage
and at JOIN::execute stage. At optimize stage
Innodb prebuilt struct which is used for the
retrieval of column values is initialized in.
ha_innobase::index_read(), prebuilt->sql_stat_start is true.
After QUICK_ROR_INTERSECT_SELECT finished his job it
restores read_set/write_set bitmaps with initial values
and deactivates one of the handlers used by
QUICK_ROR_INTERSECT_SELECT in JOIN::cleanup
(it's the case when we reuse original handler as one of
 handlers required by QUICK_ROR_INTERSECT_SELECT object).
On second subselect execution inactive handler is activated
in  QUICK_RANGE_SELECT::reset, file->ha_index_init().
In ha_index_init Innodb prebuilt struct is reinitialized
with inappropriate read_set/write_set bitmaps. Further
reinitialization in ha_innobase::index_read() does not
happen as prebuilt->sql_stat_start is false.
It leads to partial retrieval of required field values
and we get a mix of field values from different records
in the record buffer.
The fix is to reset
read_set/write_set bitmaps as these values
are required for proper intialization of
internal InnoDB struct which is used for
the retrieval of column values
(see build_template(), ha_innodb.cc)


mysql-test/include/index_merge_ror_cpk.inc:
  test case
mysql-test/r/index_merge_innodb.result:
  test case
mysql-test/r/index_merge_myisam.result:
  test case
sql/opt_range.cc:
  if ROR merge scan is used we need to reset
  read_set/write_set bitmaps as these values
  are required for proper intialization of
  internal InnoDB struct which is used for
  the retrieval of column values
  (see build_template(), ha_innodb.cc)
2010-09-16 16:13:53 +04:00
Bjorn Munch
6ff48a61f2 Bug #56753 mtr silently ignores junk after backticks
When stepping backward to end of `` expression, check for illegal chars
2010-09-15 14:56:22 +02:00
Bjorn Munch
09c62e4ff8 Cherry pick 55501 2010-08-25 16:34:31 +02:00
Mattias Jonsson
dd9329761a merge 2010-08-19 09:20:17 +02:00
unknown
9d6811502e WL#5370 Keep forward-compatibility when changing
'CREATE TABLE IF NOT EXISTS ... SELECT' behaviour
BUG#55474, BUG#55499, BUG#55598, BUG#55616 and BUG#55777 are fixed
in this patch too.

This is the 5.1 part.
It implements:
- if the table exists, binlog two events: CREATE TABLE IF NOT EXISTS
  and INSERT ... SELECT

- Insert nothing and binlog nothing on master if the existing object
  is a view. It only generates a warning that table already exists.


mysql-test/r/trigger.result:
  Ather this patch, 'CREATE TABLE IF NOT EXISTS ... SELECT' will not
  insert anything if the creating table already exists and is a view.
sql/sql_class.h:
  Declare virtual function write_to_binlog() for select_insert.
  It's used to binlog 'create select'
sql/sql_insert.cc:
  Implement write_to_binlog();
  Use write_to_binlog() instead of binlog_query() to binlog the statement.
  if the table exists, binlog two events: CREATE TABLE IF NOT EXISTS
  and INSERT ... SELECT
sql/sql_lex.h:
  Declare create_select_start_with_brace and create_select_pos.
  They are helpful for binlogging 'create select'
sql/sql_parse.cc:
  Do nothing on master if the existing object is a view.
sql/sql_yacc.yy:
  Record the relative postion of 'SELECT' in the 'CREATE ...SELECT' statement.
  Record whether there is a '(' before the 'SELECT' clause.
2010-08-18 12:56:06 +08:00
Bjorn Munch
3d0819e2b1 merge from 5.1-mtr 2010-08-06 11:13:52 +02:00
Bjorn Munch
f3f5e04a36 merge from 5.1 2010-08-04 12:19:51 +02:00
Bjorn Munch
5e92df6e0e Bug #55582 mtr root detection (and if-expression execution) broken
if() treated any non-numeric string as false
Fixed to treat those as true instead
Added some test cases
Fixed missing $ in variable name in include/mix2.inc
2010-08-03 16:11:23 +02:00
Davi Arnaut
2529ee72ec Bug#55501: Disable innodb plugin usage in the embedded server on certain OSes
Do not attempt to test the innodb plugin with the embedded server,
it's not supported for now.
2010-07-23 21:55:03 -03:00
Davi Arnaut
b0035c76d4 Bug#54453: Failing assertion: trx->active_trans when renaming a
table with active trx

Essentially, the problem is that InnoDB does a implicit commit
when a cursor (table handler) is unlocked/closed, creating
a dissonance between the transaction state within the server
layer and the storage engine layer. Theoretically, a statement
transaction can encompass several table instances in a similar
manner to a multiple statement transaction, hence it does not
make sense to limit a statement transaction to the lifetime of
the table instances (cursors) used within it.

Since this particular instance of the problem is only triggerable
on 5.1 and is masked on 5.5 due 2PC being skipped (assertion is in
the prepare phase of a 2PC), the solution (which is less risky) is
to explicitly end the transaction before the cached table is unlock
on rename table.

The patch is to be null merged into trunk.

mysql-test/include/commit.inc:
  Fix counters, the binlog engine does not get involved anymore.
mysql-test/suite/innodb_plugin/r/innodb_bug54453.result:
  Add test case result for Bug#54453
mysql-test/suite/innodb_plugin/t/innodb_bug54453.test:
  Add test case for Bug#54453
sql/sql_table.cc:
  End transaction as otherwise InnoDB will end it behind our backs.
2010-07-20 14:36:15 -03:00
Mattias Jonsson
b7ad17d06a Bug#46086: crash when dropping a partitioned table
and the original engine is disabled

Missing check that engine is available.

mysql-test/include/not_blackhole.inc:
  new include file
mysql-test/r/partition_not_blackhole.result:
  new result file
mysql-test/std_data/parts/t1_blackhole.frm:
  blackhole partitioned table .frm file:
  create table `t1` (`id` int primary key) engine=blackhole
  partition by key () partitions 1;
mysql-test/std_data/parts/t1_blackhole.par:
  .par file matching blackhole partitioned .frm
mysql-test/t/partition_not_blackhole-master.opt:
  new master-opt to disable blackhole if compiled in.
mysql-test/t/partition_not_blackhole.test:
  New test
sql/ha_partition.cc:
  Added check that engine is available.
2010-07-08 14:36:55 +02:00
Davi Arnaut
bfd3b7a109 Revert Bug#48321 due to build breakage and failing tests. 2010-06-28 17:59:41 -03:00
unknown
451cea3f62 The following statements support the CURRENT_USER() where a user is needed.
DROP USER 
RENAME USER CURRENT_USER() ...
GRANT ... TO CURRENT_USER()
REVOKE ... FROM CURRENT_USER()
ALTER DEFINER = CURRENT_USER() EVENTbut, When these statements are binlogged, CURRENT_USER() just is binlogged
as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
executes the log event, 'CURRENT_USER()' is expand to the user of slave 
SQL thread, but SQL thread's user name always NULL. This breaks the replication.

After this patch, session's user will be written into query log events 
if these statements call CURREN_USER() or 'ALTER EVENT' does not assign a definer.


mysql-test/include/diff_tables.inc:
  Expend its abilities.
  Now it can diff not only in sessions of 'master' and 'slave', but 
  other sessions as well.
mysql-test/include/rpl_diff_tables.inc:
  Diff the same table between master and slaves.
sql/log_event.cc:
  session's user will be written into Query_log_event, if is_current_user_used() is TRUE.
  On slave SQL thread, Only thd->variables.current_user is written into Query_log_event,
  if it exists.
sql/sql_acl.cc:
  On slave SQL thread, grantor should copy from thd->variables.current_user, if it exists
sql/sql_class.h:
  On slave SQL thread, thd->variables.current_user is used to store the applying event's
  invoker.
2010-06-27 12:42:06 +08:00
unknown
fd0eb0c1b0 Postfix for bug#48321
Some test cases set ANSI_QUOTES in sql_mode.
So we have to use single quotes to quote literal strings.
2010-07-04 16:17:53 +08:00
unknown
1a17d7e807 The following statements support the CURRENT_USER() where a user is needed.
DROP USER 
RENAME USER CURRENT_USER() ...
GRANT ... TO CURRENT_USER()
REVOKE ... FROM CURRENT_USER()
ALTER DEFINER = CURRENT_USER() EVENTbut, When these statements are binlogged, CURRENT_USER() just is binlogged
as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
executes the log event, 'CURRENT_USER()' is expand to the user of slave 
SQL thread, but SQL thread's user name always NULL. This breaks the replication.

After this patch, session's user will be written into query log events 
if these statements call CURREN_USER() or 'ALTER EVENT' does not assign a definer.


mysql-test/include/diff_tables.inc:
  Expend its abilities.
  Now it can diff not only in sessions of 'master' and 'slave', but 
  other sessions as well.
sql/log_event.cc:
  session's user will be written into Query_log_event, if is_current_user_used() is TRUE.
  On slave SQL thread, Only thd->invoker is written into Query_log_event,
  if it exists.
sql/sql_acl.cc:
  On slave SQL thread, grantor should copy from thd->invoker, if it exists
sql/sql_class.h:
  On slave SQL thread, thd->invoker is used to store the applying event's
  invoker.
2010-07-04 12:02:49 +08:00
Horst.Hunger
517f586762 Patch for bug#52913: Inserted check if mysqlhotcopy script is existing as requested by review. DIsabled the test until bug#54129 will befixed. 2010-06-04 10:53:18 +02:00
Horst.Hunger
5c6a9a5f6f Patch for bug#52913 including all review results and changes of date format. 2010-06-03 10:31:26 +02:00
unknown
3df7f6749a Postfix for BUG#49741
Add code to waiting for a set of errors.
Add code to waiting for an error instead of waiting for io thread to stop, as
after 'START SLAVE', the status of io thread is still not running.
But it doesn't mean slave io thread encounters an error.
2010-05-28 10:57:45 +08:00
Dmitry Lenev
0a35e5bd18 A 5.1-only version of fix for bug #46947 "Embedded SELECT
without FOR UPDATE is causing a lock".

SELECT statements with subqueries referencing InnoDB tables
were acquiring shared locks on rows in these tables when they
were executed in REPEATABLE-READ mode and with statement or
mixed mode binary logging turned on.

This was a regression which were introduced when fixing
bug 39843.

The problem was that for tables belonging to subqueries
parser set TL_READ_DEFAULT as a lock type. In cases when
statement/mixed binary logging at open_tables() time this
type of lock was converted to TL_READ_NO_INSERT lock at
open_tables() time and caused InnoDB engine to acquire
shared locks on reads from these tables. Although in some
cases such behavior was correct (e.g. for subqueries in
DELETE) in case of SELECT it has caused unnecessary locking.

This patch implements minimal version of the fix for the
specific problem described in the bug-report which supposed
to be not too risky for pushing into 5.1 tree.
The 5.5 tree already contains a more appropriate solution
which also addresses other related issues like bug 53921
"Wrong locks for SELECTs used stored functions may lead
to broken SBR".

This patch tries to solve the problem by ensuring that
TL_READ_DEFAULT lock which is set in the parser for
tables participating in subqueries at open_tables()
time is interpreted as TL_READ_NO_INSERT or TL_READ.
TL_READ is used only if we know that this is a SELECT
and that this particular table is not used by a stored
function.

Test coverage is added for both InnoDB and MyISAM.

This patch introduces an "incompatible" change in locking
scheme for subqueries used in SELECT ... FOR UPDATE and
SELECT .. IN SHARE MODE.

In 4.1 (as well as in 5.0 and 5.1 before fix for bug 39843)
the server would use a snapshot InnoDB read for subqueries
in SELECT FOR UPDATE and SELECT .. IN SHARE MODE statements,
regardless of whether the binary log is on or off.

If the user required a different type of read (i.e. locking
read), he/she could request so explicitly by providing FOR
UPDATE/IN SHARE MODE clause for each individual subquery.

The patch for bug 39843 broke this behaviour (which was not
documented or tested), and started to use locking reads for
all subqueries in SELECT ... FOR UPDATE/IN SHARE MODE.
This patch restores 4.1 behaviour.

This patch should be mostly null-merged into 5.5 tree.

mysql-test/include/check_concurrent_insert.inc:
  Added auxiliary script which allows to check if statement
  reading table allows concurrent inserts in it.
mysql-test/include/check_no_concurrent_insert.inc:
  Added auxiliary script which allows to check that statement
  reading table doesn't allow concurrent inserts in it.
mysql-test/include/check_no_row_lock.inc:
  Added auxiliary script which allows to check if statement
  reading table doesn't take locks on its rows.
mysql-test/include/check_shared_row_lock.inc:
  Added auxiliary script which allows to check if statement
  reading table takes shared locks on some of its rows.
mysql-test/r/bug39022.result:
  After bug #46947 'Embedded SELECT without FOR UPDATE is
  causing a lock' was fixed test case for bug 39022 has to
  be adjusted in order to trigger execution path on which
  original problem was encountered.
mysql-test/r/innodb_mysql_lock2.result:
  Added coverage for handling of locking in various cases when
  we read data from InnoDB tables (includes test case for
  bug #46947 'Embedded SELECT without FOR UPDATE is causing a
  lock').
mysql-test/r/lock_sync.result:
  Added coverage for handling of locking in various cases when
  we read data from MyISAM tables.
mysql-test/t/bug39022.test:
  After bug #46947 'Embedded SELECT without FOR UPDATE is
  causing a lock' was fixed test case for bug 39022 has to
  be adjusted in order to trigger execution path on which
  original problem was encountered.
mysql-test/t/innodb_mysql_lock2.test:
  Added coverage for handling of locking in various cases when
  we read data from InnoDB tables (includes test case for
  bug #46947 'Embedded SELECT without FOR UPDATE is causing a
  lock').
mysql-test/t/lock_sync.test:
  Added coverage for handling of locking in various cases when
  we read data from MyISAM tables.
sql/mysql_priv.h:
  Function read_lock_type_for_table() now takes pointers to
  LEX and TABLE_LIST elements as its arguments since to
  correctly determine lock type it needs to know what
  statement is being performed and whether table element for
  which lock type to be determined belongs to prelocking list.
sql/sql_base.cc:
  Changed read_lock_type_for_table() to return a weak TL_READ
  type of lock in cases when we are executing SELECT (and so
  won't update tables directly) and table doesn't belong to
  statement's prelocking list and thus can't be used by a
  stored function. It is OK to do so since in this case table
  won't be used by statement or function call which will be
  written to the binary log, so serializability requirements
  for it can be relaxed.
  One of results from this change is that SELECTs on InnoDB
  tables no longer takes shared row locks for tables which
  are used in subqueries (i.e. bug #46947 is fixed).
  Another result is that for similar SELECTs on MyISAM tables
  concurrent inserts are allowed.
  In order to implement this change signature of
  read_lock_type_for_table() function was changed to
  take pointers to LEX and TABLE_LIST objects.
sql/sql_update.cc:
  Function read_lock_type_for_table() now takes pointers to
  LEX and TABLE_LIST elements as its arguments since to
  correctly determine lock type it needs to know what
  statement is being performed and whether table element for
  which lock type to be determined belongs to prelocking list.
2010-05-28 00:07:40 +04:00
unknown
7e80f1c5dc Bug #49741 test files contain explicit references to bin/relay-log positions
Some of the test cases reference to binlog position and
these position numbers are written into result explicitly.
It is difficult to maintain if log event format changes. 

There are a couple of cases explicit position number appears, 
we handle them in different ways
A. 'CHANGE MASTER ...' with MASTER_LOG_POS or/and RELAY_LOG_POS options
   Use --replace_result to mask them.
B. 'SHOW BINLOG EVENT ...'
   Replaced by show_binlog_events.inc or wait_for_binlog_event.inc. 
   show_binlog_events.inc file's function is enhanced by given
   $binlog_file and $binlog_limit.
C. 'SHOW SLAVE STATUS', 'show_slave_status.inc' and 'show_slave_status2.inc'
   For the test cases just care a few items in the result of 'SHOW SLAVE STATUS',
   only the items related to each test case are showed.
   'show_slave_status.inc' is rebuild, only the given items in $status_items
   will be showed.
   'check_slave_is_running.inc' and 'check_slave_no_error.inc'
   and 'check_slave_param.inc' are auxiliary files helping
   to show running status and error information easily.


mysql-test/extra/binlog_tests/binlog.test:
  It only cares whether current binlog file index is changed, so it is ok
  with 'show_master_status.inc' instead of 'show mater status'.
mysql-test/extra/binlog_tests/blackhole.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/extra/rpl_tests/rpl_deadlock.test:
  Use 'check_slave_is_running.inc' instead of 'show_slave_status2.inc'.
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
  Use 'wait_for_slave_sql_error.inc' and 'ait_for_slave_sql_error_and_skip.inc' instead of 'show slave status'.
mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test:
  It is need now to give a error number, so use 'wait_for_slave_io_to_stop.inc'
  instead of 'wait_for_slave_io_error.inc'.
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/extra/rpl_tests/rpl_log.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
  se 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
  se 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/extra/rpl_tests/rpl_reset_slave.test:
  Use 'show_slave_status.inc' instead of 'show_slave_status2.inc' statement.
  Use 'check_slave_no_error.inc' to simplify the check that there is no error.
mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Use 'check_slave_is_running.inc' to verify that Slave threads are running well.
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Use 'show_slave_error_status_and_skip.inc' instead of 'show slave status'.
mysql-test/include/check_slave_is_running.inc:
  To make sure both sql and io thread are running well. If not, the test will be aborted.
mysql-test/include/check_slave_no_error.inc:
  To make sure both sql and io thread have no error. If not, the test will be aborted.
mysql-test/include/get_relay_log_pos.inc:
  According to the position of a log event in master binlog file,
  find the peer position of a log event in relay log file.
mysql-test/include/rpl_stmt_seq.inc:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/include/show_binlog_events.inc:
  Add two options $binlog_file and $binlog_limit for showing binlog events from different binlog files or/and given different limits on position or row number.
mysql-test/include/show_rpl_debug_info.inc:
  Add 'SELECT NOW()' in the debug information.
mysql-test/include/show_slave_status.inc:
  It's more clean and tidy Only the given columns of slave status are printed.
mysql-test/include/test_fieldsize.inc:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/include/wait_for_binlog_event.inc:
  Use show_rpl_debug_info.inc instead of 'SHOW BINLOG EVENTS'.
mysql-test/include/wait_for_slave_io_error.inc:
  Add $slave_io_errno and $show_slave_io_error, it waits only a given error.
mysql-test/include/wait_for_slave_param.inc:
  Use die instead of exit.
mysql-test/include/wait_for_slave_sql_error.inc:
  Add $slave_sql_errno and $show_slave_sql_error, it waits only a given error.
mysql-test/include/wait_for_status_var.inc:
  Use die instead of exit.
mysql-test/r/flush_block_commit_notembedded.result:
  It checks whether somethings are binlogged, so we using 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/r/multi_update.result:
  It checks whether somethings are binlogged, so we using 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/suite/binlog/r/binlog_innodb.result:
  It checks whether somethings are binlogged, so we using 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/suite/binlog/r/binlog_row_binlog.result:
  Position in the result of 'show master status' is replaced by '#'.
mysql-test/suite/binlog/r/binlog_stm_binlog.result:
  Position in the result of 'show master status' is replaced by '#'.
mysql-test/suite/binlog/t/binlog_innodb.test:
  It checks whether somethings are binlogged, so we use 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/suite/binlog/t/binlog_stm_binlog.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/bugs/r/rpl_bug36391.result:
  Position in the result of 'show master status' is replaced by '#'.
mysql-test/suite/bugs/t/rpl_bug12691.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/bugs/t/rpl_bug36391.test:
  'show master status' is replaced by 'show_master_status.inc'.
  Position in the result of 'show master status' is replaced by '#'.
mysql-test/suite/engines/funcs/r/rpl_000015.result:
  It checks whether somethings are binlogged, 
  so we using 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/suite/engines/funcs/t/rpl_000015.test:
  Use 'check_slave_is_running.inc' to verify that Slave threads are running well.
mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test:
  Use 'query_vertical SHOW SLAVE STATUS' instead of 'show slave status'.
  There is no status columns in the result file, for no slave exists on master's server.
mysql-test/suite/engines/funcs/t/rpl_change_master.test:
  This test just care whether Read_Master_Log_Pos is equal to Exec_Master_Log_Pos after 'CHANGE MASTER ..'. So 'show slave status' is removed and just check the value of Read_Master_Log_Pos and Exec_Master_Log_Pos.
mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test:
  We doesn't really need the statement.
mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test:
  Just show Relay_Log_File, running status and error informations.
  Use 'check_slave_is_running.inc' to verify that Slave threads are running well.
mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/engines/funcs/t/rpl_log_pos.test:
  Mask the explicit positions in the result file.
  Use 'check_slave_no_error.inc' to simplify the check that there is no error.
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/engines/funcs/t/rpl_row_drop.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/engines/funcs/t/rpl_row_until.test:
  Use 'check_slave_param.inc' to check whether SQL Thread stop at a right position, and use binlog position variables instead of explicit number in the 'CHANGE MASTER' statements.
  
  Mask the explicit binary log positions in the result file.
mysql-test/suite/engines/funcs/t/rpl_server_id1.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
  Use 'check_slave_no_error.inc' to simplify the check that there is no error.
mysql-test/suite/engines/funcs/t/rpl_server_id2.test:
  It doesn't really need in this test.
mysql-test/suite/engines/funcs/t/rpl_slave_status.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/manual/t/rpl_replication_delay.test:
  Use 'show_slave_status.inc' instead of 'show slave status'.
mysql-test/suite/parts/t/rpl_partition.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl/include/rpl_mixed_ddl.inc:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_000015.test:
  Use 'show_slave_status.inc' instead of 'show_slave_status2.inc'.
mysql-test/suite/rpl/t/rpl_binlog_grant.test:
  Use 'wait_for_binlog_event.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_bug33931.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/rpl/t/rpl_change_master.test:
  This test just care whether Read_Master_Log_Pos is equal to Exec_Master_Log_Pos after 'CHANGE MASTER ..'. So 'show slave status' is removed and just check the value of Read_Master_Log_Pos and Exec_Master_Log_Pos.
mysql-test/suite/rpl/t/rpl_critical_errors.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/rpl/t/rpl_dual_pos_advance.test:
  Mask the explicit position numbers in result file.
  It is restricted running on SBR, for it want to binlog 'set @a=1' statement.
mysql-test/suite/rpl/t/rpl_empty_master_crash.test:
  It doesn't need in this test.
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  UUse 'check_slave_is_running.inc' and 'show_slave_status.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test:
  Use 'wait_for_slave_io_error.inc' to wait the given io thread error happening.
mysql-test/suite/rpl/t/rpl_grant.test:
  It doesn't need in this test.
mysql-test/suite/rpl/t/rpl_incident.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl/t/rpl_known_bugs_detection.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave stutus'.
mysql-test/suite/rpl/t/rpl_loaddata_fatal.test:
  Use 'wait_for_slave_sql_error_and_skip.inc' to wait the given sql thread error happening and then skip the event. There is no need to print the result of 'show slave stutus'.
mysql-test/suite/rpl/t/rpl_log_pos.test:
  Use 'wait_for_slave_io_error.inc' to wait the given io thread error happening.
  There is no need to print the result of 'show slave status'.
mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_replicate_do.test:
  Use 'show_slave_status.inc' instead of 'show slave status'.
mysql-test/suite/rpl/t/rpl_rotate_logs.test:
  Use 'show_slave_status.inc' instead of 'show_slave_status2.inc'.
mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_row_create_table.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_row_drop.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_row_until.test:
  Use 'check_slave_param.inc' to check whether SQL Thread stop at a right position, and use binlog position variables instead of explicit number in the 'CHANGE MASTER' statements.
mysql-test/suite/rpl/t/rpl_skip_error.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave status'.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
  Use 'check_slave_param.inc' to check whether SQL Thread stop at a right position, and mask the explicit position number in the 'CHANGE MASTER' statements.
mysql-test/suite/rpl/t/rpl_sp.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/suite/rpl/t/rpl_ssl.test:
  Use 'show_slave_status.inc' instead of 'show slave status'.
mysql-test/suite/rpl/t/rpl_ssl1.test:
  Use 'show_slave_status.inc' instead of 'show slave status'.
mysql-test/suite/rpl/t/rpl_stm_until.test:
  Use 'check_slave_param.inc' to check whether SQL Thread stop at a right position, and use binlog position variables instead of explicit number in the 'CHANGE MASTER' statements.
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test:
  Use 'wait_for_slave_sql_error.inc' to wait the given sql thread error happening.
  There is no need to print the result of 'show slave status'.
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test:
  Mask master_log_pos and master_log_file
mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test:
  Use 'check_slave_is_running.inc' instead of 'show slave status' statement.
mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/t/alter_table-big.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/t/create-big.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/t/ctype_cp932_binlog_stm.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
mysql-test/t/flush_block_commit_notembedded.test:
  It checks whether somethings are binlogged, 
  so we using 'show_binlog_event.inc' instead of 'show master status'.
mysql-test/t/multi_update.test:
  It checks whether somethings are binlogged, 
  so we using 'wait_binlog_event.inc' instead of 'show master status'.
mysql-test/t/sp_trans_log.test:
  Use 'show_binlog_events.inc' instead of 'show binlog events' statement.
2010-05-24 21:54:08 +08:00
Georgi Kodinov
e038b56dab merged 5.1-innodb 2010-05-01 19:12:12 +03:00
Vasil Dimov
5a0e20715d Move the InnoDB Plugin tests from storage/innodb_plugin/mysql-test/ where
they are ignored to a new test suite "innodb_plugin".

Remove a hack in mtr that was deployed to run the builtin InnoDB tests against
the InnoDB Plugin. Also detect if a test is an 'innodb plugin test' and if so
then transparently replace the builtin InnoDB with the InnoDB Plugin.
2010-04-09 15:56:51 +03:00
Davi Arnaut
97afbf5a27 Backport revision alik@sun.com-20100223131824-comthndat57kx8s5:
Add ignore pattern for valgrind messages.
2010-04-09 14:57:11 -03:00
Martin Hansson
a76b8f9a1d Post-push fix to disable a subset of the test case for Bug#47762.
This has been back-ported from 6.0 as the problems proved to afflict 
5.1 as well.
The fix exposed two new bugs. They were reported as follows.
      
Bug no 52174: Sometimes wrong plan when reading a MAX value 
from non-NULL index
      
Bug no 52173: Reading NULL value from non-NULL index gives wrong 
result in embedded server 
      
Both bugs taken together affect a much smaller class of queries than #47762, 
so the fix stays for now.
2010-03-19 09:23:44 +01:00