1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Fix fur BUG#13348: "multi-table updates and deletes are not logged if no rows were affected".

Not fixed in 4.1 as not critical. Also I'm correcting error checking of multi-UPDATE/DELETE
when it comes to binlogging, to make it consistent with when we rollback the statement.


mysql-test/r/rpl_multi_delete.result:
  result update
mysql-test/r/rpl_multi_update.result:
  result update
mysql-test/t/rpl_multi_delete.test:
  test for BUG#13348
mysql-test/t/rpl_multi_update.test:
  test of BUG#13348
sql/sql_delete.cc:
  We now binlog multi-DELETE even if no row was updated (like we do for DELETE).
  I'm also correcting some error checking (< instead of <=), basing myself on when we rollback.
sql/sql_update.cc:
  we now binlog multi-UPDATE even if no row was updated (like we do for UPDATE).
  Adding to existing tests to test new behaviour.
  I'm also correcting some error checking (< instead of <=), basing myself on when we rollback.
This commit is contained in:
unknown
2005-09-20 17:41:47 +02:00
parent 2b24a2b5b5
commit 03045ee70a
6 changed files with 88 additions and 32 deletions

View File

@@ -24,3 +24,26 @@ connection slave;
sync_with_master;
# End of 4.1 tests
# Check if updating 0 rows is binlogged (BUG#13348)
connection master;
delete from t1;
delete from t2;
insert into t1 values(1,1);
insert into t2 values(1,1);
connection slave;
# 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;
connection master;
drop table t1, t2;
sync_slave_with_master;