mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG 53893: automerged bug branch into mysql-5.1-bugteam latest.
This commit is contained in:
@ -24,3 +24,15 @@ INSERT INTO t VALUES (1,2,4);
|
||||
INSERT INTO t VALUES (4,3,4);
|
||||
DELETE FROM t;
|
||||
DROP TABLE t;
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT, UNIQUE KEY(c1,c3), KEY(c2));
|
||||
INSERT INTO t1(c1,c2) VALUES(1,1);
|
||||
INSERT INTO t1(c1,c2) VALUES(1,2);
|
||||
UPDATE t1 SET c1=1000 WHERE c2=2;
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
@ -71,3 +71,34 @@ DELETE FROM t;
|
||||
DROP TABLE t;
|
||||
|
||||
-- sync_slave_with_master
|
||||
|
||||
#
|
||||
# BUG#53893: RBR: nullable unique key can lead to out-of-sync slave
|
||||
#
|
||||
|
||||
#
|
||||
# We insert two rows. Both with part of UNIQUE KEY set to null.
|
||||
# Then we update the last row inserted. On master the correct
|
||||
# row is updated. On the slave the wrong row would be updated
|
||||
# because the engine would look it up by the NULL Unique KEY.
|
||||
# As a consquence, the wrong row would be updated.
|
||||
#
|
||||
|
||||
-- connection master
|
||||
-- source include/master-slave-reset.inc
|
||||
-- connection master
|
||||
|
||||
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT, UNIQUE KEY(c1,c3), KEY(c2));
|
||||
INSERT INTO t1(c1,c2) VALUES(1,1);
|
||||
INSERT INTO t1(c1,c2) VALUES(1,2);
|
||||
UPDATE t1 SET c1=1000 WHERE c2=2;
|
||||
-- sync_slave_with_master
|
||||
|
||||
-- let $diff_table_1=master:test.t1
|
||||
-- let $diff_table_2=slave:test.t1
|
||||
-- source include/diff_tables.inc
|
||||
|
||||
-- connection master
|
||||
DROP TABLE t1;
|
||||
-- sync_slave_with_master
|
||||
|
Reference in New Issue
Block a user