# Let's verify that multi-update is not always skipped by slave if # some replicate-* rules exist. # (BUG#7011) --disable_warnings drop table if exists t1,t2; --enable_warnings eval CREATE TABLE t1 ( a int unsigned not null auto_increment primary key, b int unsigned ) ENGINE=$engine_type; eval CREATE TABLE t2 ( a int unsigned not null auto_increment primary key, b int unsigned ) ENGINE=$engine_type; INSERT INTO t1 VALUES (NULL, 0); INSERT INTO t1 SELECT NULL, 0 FROM t1; INSERT INTO t2 VALUES (NULL, 0), (NULL,1); SELECT * FROM t1 ORDER BY a; SELECT * FROM t2 ORDER BY a; UPDATE t1, t2 SET t1.b = (t2.b+4) WHERE t1.a = t2.a; SELECT * FROM t1 ORDER BY a; SELECT * FROM t2 ORDER BY a; save_master_pos; connection slave; sync_with_master; SELECT * FROM t1 ORDER BY a; SELECT * FROM t2 ORDER BY a; connection master; drop table t1,t2; sync_slave_with_master; # # BUG#13236 multi-update with subquery & --replicate-ignore-table # reset master; connection master; CREATE TABLE t1 ( a INT ); INSERT INTO t1 VALUES (0); UPDATE t1, (SELECT 3 as b) AS x SET t1.a = x.b; select * from t1; sync_slave_with_master; connection slave; select * from t1; connection master; drop table t1; sync_slave_with_master; # End of 4.1 tests