polardbxengine/mysql-test/suite/rpl/t/rpl_spec_variables_myisam.test

203 lines
6.0 KiB
Plaintext

#############################################################
# Author: Serge Kozlov <skozlov@mysql.com>
# Date: 07/01/2008
# Purpose: Testing possible affects of some system dynamic
# variables to the replication.
# Scenario for each variable:
# 1) Set different values for master and slave
# 2) Create and replicate a data from master to slave
# 3) Check results on master and slave: changes on slave
# shouldn't be affected to replicated data.
#############################################################
--source include/not_group_replication_plugin.inc
--source include/force_myisam_default.inc
--source include/have_myisam.inc
--source include/master-slave.inc
--echo
#
# AUTO_INCREMENT
#
--echo * auto_increment_increment, auto_increment_offset *
--connection master
SET @@global.auto_increment_increment=2;
SET @@session.auto_increment_increment=2;
SET @@global.auto_increment_offset=10;
SET @@session.auto_increment_offset=10;
--connection slave
SET @@global.auto_increment_increment=3;
SET @@session.auto_increment_increment=3;
SET @@global.auto_increment_offset=20;
SET @@session.auto_increment_offset=20;
--connection master
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
INSERT INTO t1 (b) VALUES ('master');
INSERT INTO t1 (b) VALUES ('master');
SELECT * FROM t1 ORDER BY a;
--source include/sync_slave_sql_with_master.inc
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
INSERT INTO t1 (b) VALUES ('slave');
INSERT INTO t1 (b) VALUES ('slave');
INSERT INTO t2 (b) VALUES ('slave');
INSERT INTO t2 (b) VALUES ('slave');
SELECT * FROM t1 ORDER BY a;SELECT * FROM t2 ORDER BY a;
--connection master
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
SET @@global.auto_increment_increment=1;
SET @@session.auto_increment_increment=1;
SET @@global.auto_increment_offset=1;
SET @@session.auto_increment_offset=1;
--connection slave
SET @@global.auto_increment_increment=1;
SET @@session.auto_increment_increment=1;
SET @@global.auto_increment_offset=1;
SET @@session.auto_increment_offset=1;
--connection slave
SET auto_increment_increment=1;
SET auto_increment_offset=1;
--echo
#
# CHARACTER_SET_DATABASE, COLLATION_SERVER
#
--echo * character_set_database, collation_server *
--echo [On Master]
--connection master
SET @restore_master_character_set_database=@@global.character_set_database;
SET @restore_master_collation_server=@@global.collation_server;
SET @@global.character_set_database=latin1;
SET @@session.character_set_database=latin1;
SET @@global.collation_server=latin1_german1_ci;
SET @@session.collation_server=latin1_german1_ci;
--echo [On Slave]
--connection slave
SET @restore_slave_character_set_database=@@global.character_set_database;
SET @restore_slave_collation_server=@@global.collation_server;
SET @@global.character_set_database=utf8;
SET @@session.character_set_database=utf8;
SET @@global.collation_server=utf8_bin;
SET @@session.collation_server=utf8_bin;
--echo [On Master]
--connection master
CREATE SCHEMA s1;
SHOW CREATE SCHEMA s1;
CREATE TABLE s1.t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
SHOW CREATE TABLE s1.t1;
--source include/sync_slave_sql_with_master.inc
--echo [On Slave]
CREATE SCHEMA s2;
SHOW CREATE SCHEMA s2;
CREATE TABLE s1.t2 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
CREATE TABLE s2.t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10)) ENGINE=MyISAM;
SHOW CREATE TABLE s1.t1;
SHOW CREATE TABLE s1.t2;
SHOW CREATE TABLE s2.t1;
DROP TABLE s2.t1;
DROP SCHEMA s2;
SET @@global.collation_server=latin1_swedish_ci;
SET @@session.collation_server=latin1_swedish_ci;
--echo [On Master]
--connection master
SET @@global.collation_server=latin1_swedish_ci;
SET @@session.collation_server=latin1_swedish_ci;
--disable_warnings
DROP TABLE IF EXISTS s1.t1,s1.t2;
DROP SCHEMA s1;
--enable_warnings
--echo
#
# DEFAULT_WEEK_FORMAT
#
--echo * default_week_format *
--connection master
SET @@global.default_week_format=0;
SET @@session.default_week_format=0;
--connection slave
SET @@global.default_week_format=1;
SET @@session.default_week_format=1;
--connection master
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b VARCHAR(10), c INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1, 'master ', WEEK('2008-01-07'));
SELECT * FROM t1 ORDER BY a;
--source include/sync_slave_sql_with_master.inc
INSERT INTO t1 VALUES (2, 'slave ', WEEK('2008-01-07'));
SELECT * FROM t1 ORDER BY a;
--connection master
DROP TABLE t1;
--connection slave
SET @@global.default_week_format=0;
SET @@session.default_week_format=0;
--echo
#
# LOCAL_INFILE
#
--echo * local_infile *
--connection slave
SET @old_local_infile= @@global.local_infile;
SET @@global.local_infile=0;
--connection master
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(20), c CHAR(254)) ENGINE=MyISAM;
--copy_files_wildcard ./std_data/ $MYSQLTEST_VARDIR/tmp/ words.dat
--copy_files_wildcard ./std_data/ $MYSQLTEST_VARDIR/tmp/ words2.dat
--replace_regex /\'.+\'/'FILE'/
--eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/tmp/words.dat' INTO TABLE t1 (b)
SELECT COUNT(*) FROM t1;
--source include/sync_slave_sql_with_master.inc
--replace_regex /\'.+\'/'FILE2'/
--error 1148
--eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/tmp/words2.dat' INTO TABLE t1 (b)
SELECT COUNT(*) FROM t1;
SET @@global.local_infile=1;
--connection master
DROP TABLE t1;
--echo
# Clean up
--echo *** clean up ***
--connection master
SET @@global.character_set_database=@restore_master_character_set_database;
SET @@global.collation_server=@restore_master_collation_server;
--source include/sync_slave_sql_with_master.inc
SET @@global.character_set_database=@restore_slave_character_set_database;
SET @@global.collation_server=@restore_slave_collation_server;
SET @@global.local_infile= @old_local_infile;
--remove_file $MYSQLTEST_VARDIR/tmp/words.dat
--remove_file $MYSQLTEST_VARDIR/tmp/words2.dat
# Put at the end since the test otherwise emptied the table.
--echo
call mtr.add_suppression("The table 't[12]' is full");
# End of 5.1 test
--source include/rpl_end.inc