mirror of
https://github.com/MariaDB/server.git
synced 2025-10-25 18:38:00 +03:00
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.
50 lines
985 B
Plaintext
50 lines
985 B
Plaintext
source include/master-slave.inc;
|
|
|
|
CREATE TABLE t1 (
|
|
a int unsigned not null auto_increment primary key,
|
|
b int unsigned
|
|
) ENGINE=MyISAM;
|
|
|
|
CREATE TABLE t2 (
|
|
a int unsigned not null auto_increment primary key,
|
|
b int unsigned
|
|
) ENGINE=MyISAM;
|
|
|
|
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 WHERE t1.a = t2.a;
|
|
save_master_pos;
|
|
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;
|