Commit 67864dbf authored by Serge Kozlov's avatar Serge Kozlov

Bug#48308.

1. Now test use fake_relay_log primitive
2. Added RESET SLAVE to include/setup_fake_relay_log.inc for removing relay log info file
3. Added RESET SLAVE to include/cleanup_fake_relay_log.inc
4. Test moved to rpl suite as rpl_binlog_auto_inc_bug33029.test
5. Updated result file
parent 67b7b282
......@@ -12,5 +12,9 @@
remove_file $_fake_relay_log;
remove_file $_fake_relay_index;
--disable_query_log
--disable_warnings
STOP SLAVE SQL_THREAD;
RESET SLAVE;
eval SET @@global.relay_log_purge= $_fake_relay_log_purge;
--enable_warnings
--enable_query_log
......@@ -66,8 +66,16 @@ let $_fake_relay_index= $MYSQLD_DATADIR/$_fake_filename.index;
# CHANGE MASTER modifies it (see the manual for CHANGE MASTER).
let $_fake_relay_log_purge= `SELECT @@global.relay_log_purge`;
# Reset slave and remove relay log and index files if they exist
RESET SLAVE;
error 0,1;
remove_file $MYSQLD_DATADIR/$_fake_filename.000001;
error 0,1;
remove_file $MYSQLD_DATADIR/$_fake_filename.index;
# Create relay log file.
copy_file $fake_relay_log $_fake_relay_log;
# Create relay log index.
# After patch for BUG#12190, the filename used in CHANGE MASTER
......@@ -77,28 +85,12 @@ copy_file $fake_relay_log $_fake_relay_log;
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
{
-- let $_index_entry= ./$_fake_filename-fake.000001
eval select './$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
}
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`)
{
-- let $_index_entry= .\\\\$_fake_filename-fake.000001
}
if (`SELECT LENGTH(@@secure_file_priv) > 0`)
{
-- let $_file_priv_dir= `SELECT @@secure_file_priv`;
-- let $_suffix= `SELECT UUID()`
-- let $_tmp_file= $_file_priv_dir/fake-index.$_suffix
-- eval select '$_index_entry\n' into dumpfile '$_tmp_file'
-- copy_file $_tmp_file $_fake_relay_index
-- remove_file $_tmp_file
}
if (`SELECT LENGTH(@@secure_file_priv) = 0`)
{
-- eval select '$_index_entry\n' into dumpfile '$_fake_relay_index'
eval select '.\\\\$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
}
# Setup replication from existing relay log.
......
SET @old_relay_log_purge= @@global.relay_log_purge;
change master to
MASTER_HOST='dummy.localdomain',
RELAY_LOG_FILE='slave-relay-bin.000001',
RELAY_LOG_POS=4;
Setting up fake replication from MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001
start slave sql_thread;
select MASTER_POS_WAIT('master-bin.000001', 3776);
# Result on slave
......@@ -38,5 +34,4 @@ DROP PROCEDURE IF EXISTS p2;
DROP FUNCTION IF EXISTS f1;
DROP TRIGGER IF EXISTS tr1;
stop slave sql_thread;
reset slave;
SET @@global.relay_log_purge= @old_relay_log_purge;
Cleaning up after setup_fake_relay_log.inc
......@@ -17,35 +17,8 @@
source include/have_log_bin.inc;
# Need to restore this at the end; CHANGE MASTER modifies it (see the
# manual for CHANGE MASTER).
SET @old_relay_log_purge= @@global.relay_log_purge;
let $MYSQLD_DATADIR= `select @@datadir`;
copy_file $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 $MYSQLD_DATADIR/slave-relay-bin.000001;
# After patch for BUG#12190, the filename used in CHANGE MASTER
# RELAY_LOG_FILE will be automatically added the directory of the
# relay log before comparison, thus we need to added the directory
# part (./ on unix .\ on windows) when faking the relay-log-bin.index.
disable_query_log;
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
{
eval select './slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index';
}
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`)
{
eval select '.\\\\slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index';
}
enable_query_log;
change master to
MASTER_HOST='dummy.localdomain',
RELAY_LOG_FILE='slave-relay-bin.000001',
RELAY_LOG_POS=4;
let $fake_relay_log= $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001;
source include/setup_fake_relay_log.inc;
start slave sql_thread;
disable_result_log;
......@@ -66,9 +39,4 @@ DROP TRIGGER IF EXISTS tr1;
enable_warnings;
stop slave sql_thread;
reset slave;
source include/wait_for_slave_sql_to_stop.inc;
remove_file $MYSQLD_DATADIR/slave-relay-bin.000001;
remove_file $MYSQLD_DATADIR/slave-relay-bin.index;
SET @@global.relay_log_purge= @old_relay_log_purge;
source include/cleanup_fake_relay_log.inc;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment