mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
0069549021
- fixed test mysql-test/r/rpl_multi_update2.result: fixed setting/reseting environment multi-update with subquery added mysql-test/t/rpl_multi_update2.test: fixed setting/reseting environment multi-update with subquery added sql/sql_update.cc: set 'updating' in both tables list if we have two of them (because of subquery)
62 lines
1.2 KiB
Text
62 lines
1.2 KiB
Text
# Let's verify that multi-update is not always skipped by slave if
|
|
# some replicate-* rules exist.
|
|
# (BUG#7011)
|
|
|
|
source include/master-slave.inc;
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
|
|
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+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
|