include/master-slave.inc [connection master] CREATE DATABASE test_ignore; **** On Master **** SHOW DATABASES; Database information_schema mtr mysql performance_schema test test_ignore USE test; CREATE TABLE t1 (a INT, b INT); SHOW TABLES; Tables_in_test t1 INSERT INTO t1 VALUES (1,1), (2,2); USE test_ignore; CREATE TABLE t2 (a INT, b INT); SHOW TABLES; Tables_in_test_ignore t2 INSERT INTO t2 VALUES (3,3), (4,4); show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT) master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT **** On Slave **** SHOW DATABASES; Database information_schema mtr mysql performance_schema test USE test; SHOW TABLES; Tables_in_test t1 USE test_ignore; ERROR 42000: Unknown database 'test_ignore' DROP DATABASE test_ignore; USE test; DROP TABLE t1; USE test; include/rpl_reset.inc CREATE TABLE t1 (a INT); DELETE FROM t1; INSERT INTO t1 VALUES (1),(2); DELETE FROM t1 WHERE a = 0; UPDATE t1 SET a=99 WHERE a = 0; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT) master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT DROP TABLE t1; ================ Test for BUG#17620 ================ include/rpl_reset.inc **** On Slave **** SET GLOBAL QUERY_CACHE_SIZE=0; call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* Error_code: 1032"); **** On Master **** CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2),(3); **** On Slave **** SET GLOBAL QUERY_CACHE_SIZE=16*1024*1024; **** On Master **** INSERT INTO t1 VALUES (4),(5),(6); **** On Slave **** SELECT * FROM t1; a 1 2 3 4 5 6 **** On Master **** INSERT INTO t1 VALUES (7),(8),(9); **** On Slave **** SELECT * FROM t1; a 1 2 3 4 5 6 7 8 9 SET GLOBAL QUERY_CACHE_SIZE=0; DROP TABLE t1; ================ Test for BUG#22550 ================ include/rpl_reset.inc CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM; INSERT INTO t1 VALUES(1,2); SELECT HEX(a),b FROM t1; HEX(a) b 1 2 SELECT HEX(a),b FROM t1; HEX(a) b 1 2 UPDATE t1 SET a=0 WHERE b=2; SELECT HEX(a),b FROM t1; HEX(a) b 0 2 SELECT HEX(a),b FROM t1; HEX(a) b 0 2 DROP TABLE IF EXISTS t1; ================ Test for BUG#22583 ================ include/rpl_reset.inc **** On Master **** CREATE TABLE t1_myisam (k INT, a BIT(1), b BIT(9)) ENGINE=MYISAM; CREATE TABLE t1_innodb (k INT, a BIT(1), b BIT(9)) ENGINE=INNODB; CREATE TABLE t2_myisam (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=MYISAM; CREATE TABLE t2_innodb (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=INNODB; **** On Slave **** ALTER TABLE t1_myisam ENGINE=INNODB; ALTER TABLE t1_innodb ENGINE=MYISAM; ALTER TABLE t2_myisam ENGINE=INNODB; ALTER TABLE t2_innodb ENGINE=MYISAM; **** On Master **** INSERT INTO t1_myisam VALUES(1, b'0', 257); INSERT INTO t1_myisam VALUES(2, b'1', 256); INSERT INTO t1_innodb VALUES(1, b'0', 257); INSERT INTO t1_innodb VALUES(2, b'1', 256); SELECT k, HEX(a),HEX(b) FROM t1_myisam; k HEX(a) HEX(b) 1 0 101 2 1 100 SELECT k, HEX(a),HEX(b) FROM t1_innodb; k HEX(a) HEX(b) 1 0 101 2 1 100 INSERT INTO t2_myisam VALUES(1, b'0', 9); INSERT INTO t2_myisam VALUES(2, b'1', 8); INSERT INTO t2_innodb VALUES(1, b'0', 9); INSERT INTO t2_innodb VALUES(2, b'1', 8); SELECT k, HEX(a),HEX(b) FROM t2_myisam; k HEX(a) HEX(b) 1 0 9 2 1 8 SELECT k, HEX(a),HEX(b) FROM t2_innodb; k HEX(a) HEX(b) 1 0 9 2 1 8 **** On Slave **** SELECT k, HEX(a),HEX(b) FROM t1_myisam; k HEX(a) HEX(b) 1 0 101 2 1 100 SELECT k, HEX(a),HEX(b) FROM t1_innodb; k HEX(a) HEX(b) 1 0 101 2 1 100 SELECT k, HEX(a),HEX(b) FROM t2_myisam; k HEX(a) HEX(b) 1 0 9 2 1 8 SELECT k, HEX(a),HEX(b) FROM t2_innodb; k HEX(a) HEX(b) 1 0 9 2 1 8 **** On Master **** UPDATE t1_myisam SET a=0 WHERE k=2; SELECT k, HEX(a),HEX(b) FROM t1_myisam; k HEX(a) HEX(b) 1 0 101 2 0 100 UPDATE t1_innodb SET a=0 WHERE k=2; SELECT k, HEX(a),HEX(b) FROM t1_innodb; k HEX(a) HEX(b) 1 0 101 2 0 100 UPDATE t2_myisam SET a=0 WHERE k=2; SELECT k, HEX(a),HEX(b) FROM t2_myisam; k HEX(a) HEX(b) 1 0 9 2 0 8 UPDATE t2_innodb SET a=0 WHERE k=2; SELECT k, HEX(a),HEX(b) FROM t2_innodb; k HEX(a) HEX(b) 1 0 9 2 0 8 **** On Slave **** SELECT k, HEX(a),HEX(b) FROM t1_myisam; k HEX(a) HEX(b) 1 0 101 2 0 100 SELECT k, HEX(a),HEX(b) FROM t1_innodb; k HEX(a) HEX(b) 1 0 101 2 0 100 SELECT k, HEX(a),HEX(b) FROM t2_myisam; k HEX(a) HEX(b) 1 0 9 2 0 8 SELECT k, HEX(a),HEX(b) FROM t2_innodb; k HEX(a) HEX(b) 1 0 9 2 0 8 **** On Master **** DROP TABLE IF EXISTS t1_myisam, t1_innodb, t2_myisam, t2_innodb; drop table if exists t1, t2; CREATE TABLE `t1` ( `a` int(11) NOT NULL auto_increment, `b` int(11) default NULL, PRIMARY KEY (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; CREATE TABLE `t2` ( `a` int(11) NOT NULL auto_increment, `b` int(11) default NULL, PRIMARY KEY (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; insert into t1 values (1,1),(2,2); insert into t2 values (1,1),(4,4); UPDATE t2,t1 SET t2.a=t1.a+2; ERROR 23000: Duplicate entry '3' for key 'PRIMARY' select * from t2 /* must be (3,1), (4,4) */; a b 3 1 4 4 select * from t2 /* must be (3,1), (4,4) */; a b 3 1 4 4 drop table t1,t2; include/rpl_reset.inc **** On Master **** CREATE TABLE t1 (a INT PRIMARY KEY, b SET('master','slave')); INSERT INTO t1 VALUES (1,'master,slave'), (2,'master,slave'); **** On Slave **** UPDATE t1 SET a = 5, b = 'slave' WHERE a = 1; SELECT * FROM t1 ORDER BY a; a b 2 master,slave 5 slave set @@global.slave_exec_mode= 'IDEMPOTENT'; **** On Master **** UPDATE t1 SET a = 5, b = 'master' WHERE a = 1; SELECT * FROM t1 ORDER BY a; a b 2 master,slave 5 master **** On Slave **** set @@global.slave_exec_mode= default; Last_SQL_Error SELECT * FROM t1 ORDER BY a; a b 2 master,slave 5 slave **** On Master **** DROP TABLE t1; include/rpl_end.inc