# It's true only in statement-based replication that a statement which # updates no rows (UPDATE/DELETE) is binlogged; in row-based # replication, as we log modified rows, nothing is binlogged in this # case. So this test is meaningul only in statement-based (and if it was # enabled in row-based, it would fail as expected). -- source include/have_binlog_format_mixed_or_statement.inc source include/master-slave.inc; # see if DROP DATABASE is binlogged even if no effect connection slave; create database mysqltest; connection master; drop database if exists mysqltest; sync_slave_with_master; # can't read dir --replace_result "Errcode: 1" "Errcode: X" "Errcode: 2" "Errcode: X" \\ / --error 1049 show tables from mysqltest; # see if DROP TABLE is binlogged even if no effect connection slave; create table t1 (a int); connection master; drop table if exists t1; sync_slave_with_master; # table does not exist --error 1146 select * from t1; # see if single-table DELETE is binlogged even if no effect connection master; create table t1 (a int, b int); sync_slave_with_master; insert into t1 values(1,1); connection master; delete from t1; sync_slave_with_master; select * from t1; # see if single-table UPDATE is binlogged even if no effect insert into t1 values(1,1); connection master; insert into t1 values(2,1); update t1 set a=2; sync_slave_with_master; select * from t1; # End of 4.1 tests # see if multi-table UPDATE is binlogged even if no effect (BUG#13348) connection master; create table t2 (a int, b int); delete from t1; insert into t1 values(1,1); insert into t2 values(1,1); sync_slave_with_master; # force a difference to see if master's multi-UPDATE will correct it update t1 set a=2; connection master; UPDATE t1, t2 SET t1.a = t2.a; sync_slave_with_master; select * from t1; select * from t2; # See if multi-table DELETE is binlogged even if no effect connection master; delete from t1; delete from t2; sync_slave_with_master; # force a difference to see if master's multi-DELETE will correct it insert into t1 values(1,1); insert into t2 values(1,1); connection master; DELETE t1.*, t2.* from t1, t2; sync_slave_with_master; select * from t1; select * from t2; # cleanup connection master; drop table t1, t2; sync_slave_with_master;