1include/master-slave.inc 2[connection master] 3 4*** Preparing data *** 5connection master; 6CREATE TABLE t1 (a INT NOT NULL, b VARCHAR(10)) ENGINE=MyISAM; 7CREATE TABLE t2 LIKE t1; 8CREATE TABLE t3 LIKE t1; 9CREATE TRIGGER tr1 BEFORE UPDATE ON t1 10FOR EACH ROW BEGIN 11UPDATE t2 SET b='YY' WHERE a=NEW.a; 12END| 13CREATE TRIGGER tr2 AFTER UPDATE ON t1 14FOR EACH ROW BEGIN 15UPDATE t3 SET b='ZZ' WHERE a=NEW.a; 16END| 17 18*** Test non-transactional group w/o PK *** 19connection master; 20INSERT INTO t3 VALUES(1, 'AA'); 21INSERT INTO t2 VALUES(1, 'AA'); 22INSERT INTO t1 VALUES(1, 'AA'); 23connection slave; 24RENAME TABLE t3 TO t3_bak; 25connection master; 26UPDATE t1 SET b = 'XX' WHERE a = 1; 27SELECT * FROM t1 ORDER BY a; 28a b 291 XX 30SELECT * FROM t2 ORDER BY a; 31a b 321 YY 33SELECT * FROM t3 ORDER BY a; 34a b 351 ZZ 36connection slave; 37call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* error.* 1146"); 38call mtr.add_suppression("At line *"); 39include/wait_for_slave_sql_error.inc [errno=1146] 40SHOW TABLES LIKE 't%'; 41Tables_in_test (t%) 42t1 43t2 44t3_bak 45SELECT * FROM t1 ORDER BY a; 46a b 471 AA_for_row_or_XX_for_stmt_mixed 48SELECT * FROM t2 ORDER BY a; 49a b 501 AA_for_row_or_YY_for_stmt_mixed 51include/stop_slave_io.inc 52RENAME TABLE t3_bak TO t3; 53include/start_slave.inc 54connection master; 55TRUNCATE t1; 56TRUNCATE t2; 57TRUNCATE t3; 58connection slave; 59 60*** Test non-transactional group w/ PK *** 61connection master; 62ALTER TABLE t1 ADD PRIMARY KEY (a); 63ALTER TABLE t2 ADD PRIMARY KEY (a); 64ALTER TABLE t3 ADD PRIMARY KEY (a); 65connection slave; 66RENAME TABLE t3 TO t3_bak; 67connection master; 68INSERT INTO t3 VALUES(2, 'B'); 69INSERT INTO t2 VALUES(2, 'B'); 70INSERT INTO t1 VALUES(2, 'B'); 71UPDATE t1 SET b = 'X' WHERE a = 2; 72connection slave; 73include/wait_for_slave_sql_error.inc [errno=1146] 74connection master; 75SELECT * FROM t1 ORDER BY a; 76a b 772 X 78SELECT * FROM t2 ORDER BY a; 79a b 802 YY 81SELECT * FROM t3 ORDER BY a; 82a b 832 ZZ 84connection slave; 85SHOW TABLES LIKE 't%'; 86Tables_in_test (t%) 87t1 88t2 89t3_bak 90SELECT * FROM t1 ORDER BY a; 91a b 92SELECT * FROM t2 ORDER BY a; 93a b 94include/stop_slave_io.inc 95RENAME TABLE t3_bak TO t3; 96include/start_slave.inc 97connection master; 98TRUNCATE t1; 99TRUNCATE t2; 100TRUNCATE t3; 101connection slave; 102 103*** Test transactional group w/ PK *** 104connection master; 105ALTER TABLE t1 ENGINE=InnoDB; 106ALTER TABLE t2 ENGINE=InnoDB; 107ALTER TABLE t3 ENGINE=InnoDB; 108connection slave; 109RENAME TABLE t3 TO t3_bak; 110connection master; 111BEGIN; 112INSERT INTO t1 VALUES (3, 'C'), (4, 'D'); 113INSERT INTO t2 VALUES (3, 'C'), (4, 'D'); 114INSERT INTO t3 VALUES (3, 'C'), (4, 'D'); 115COMMIT; 116connection slave; 117include/wait_for_slave_sql_error.inc [errno=1146] 118connection master; 119SELECT * FROM t1 ORDER BY a; 120a b 1213 C 1224 D 123SELECT * FROM t2 ORDER BY a; 124a b 1253 C 1264 D 127SELECT * FROM t3 ORDER BY a; 128a b 1293 C 1304 D 131connection slave; 132SHOW TABLES LIKE 't%'; 133Tables_in_test (t%) 134t1 135t2 136t3_bak 137SELECT * FROM t1 ORDER BY a; 138a b 139SELECT * FROM t2 ORDER BY a; 140a b 141include/stop_slave_io.inc 142RENAME TABLE t3_bak TO t3; 143include/start_slave.inc 144*** Clean up *** 145connection master; 146DROP TABLE t1,t2,t3; 147connection slave; 148include/rpl_end.inc 149