include/master-slave.inc [connection master] call mtr.add_suppression("Can't find record in 't.'"); CREATE DATABASE test_ignore; SHOW DATABASES; Database information_schema mtr mysql performance_schema sys 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); include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Annotate_rows # # INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Can\'t find record in \'t.\'' COLLATE 'latin1_swedish_ci')) master-bin.000001 # Table_map # # table_id: # (mtr.test_suppressions) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT) master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1,1), (2,2) master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT connection slave; SHOW DATABASES; Database information_schema mtr mysql performance_schema sys test USE test; SHOW TABLES; Tables_in_test t1 USE test_ignore; ERROR 42000: Unknown database 'test_ignore' connection master; DROP DATABASE test_ignore; USE test; DROP TABLE t1; connection slave; USE test; include/rpl_reset.inc connection master; 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; include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT) master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1),(2) master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT DROP TABLE t1; connection slave; ================ Test for BUG#17620 ================ include/rpl_reset.inc connection slave; SET GLOBAL QUERY_CACHE_SIZE=0; call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* error.* 1032"); connection master; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2),(3); connection slave; SET GLOBAL QUERY_CACHE_SIZE=16*1024*1024; connection master; INSERT INTO t1 VALUES (4),(5),(6); connection slave; SELECT * FROM t1; a 1 2 3 4 5 6 connection master; INSERT INTO t1 VALUES (7),(8),(9); connection slave; SELECT * FROM t1; a 1 2 3 4 5 6 7 8 9 SET GLOBAL QUERY_CACHE_SIZE=default; connection master; DROP TABLE t1; ================ Test for BUG#22550 ================ include/rpl_reset.inc connection master; CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM; connection slave; connection master; INSERT INTO t1 VALUES(1,2); SELECT HEX(a),b FROM t1; HEX(a) b 1 2 connection slave; SELECT HEX(a),b FROM t1; HEX(a) b 1 2 connection master; UPDATE t1 SET a=0 WHERE b=2; SELECT HEX(a),b FROM t1; HEX(a) b 0 2 connection slave; SELECT HEX(a),b FROM t1; HEX(a) b 0 2 connection master; DROP TABLE IF EXISTS t1; connection slave; ================ Test for BUG#22583 ================ include/rpl_reset.inc connection 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; connection 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; connection 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 connection 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 connection 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 connection 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 connection master; DROP TABLE IF EXISTS t1_myisam, t1_innodb, t2_myisam, t2_innodb; connection slave; connection master; 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); connection master; 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 connection slave; connection slave; select * from t2 /* must be (3,1), (4,4) */; a b 3 1 4 4 connection master; drop table t1,t2; connection slave; include/rpl_reset.inc connection master; CREATE TABLE t1 (a INT PRIMARY KEY, b SET('master','slave')); INSERT INTO t1 VALUES (1,'master,slave'), (2,'master,slave'); connection 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'; connection master; UPDATE t1 SET a = 5, b = 'master' WHERE a = 1; SELECT * FROM t1 ORDER BY a; a b 2 master,slave 5 master connection slave; set @@global.slave_exec_mode= default; Last_SQL_Error SELECT * FROM t1 ORDER BY a; a b 2 master,slave 5 slave connection master; DROP TABLE t1; include/rpl_end.inc