⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpl_multi_update3.test

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 TEST
字号:
source include/master-slave.inc;################################################################################ Let's verify that multi-update with a subselect does not cause the slave to crash# (BUG#10442)#--disable_query_logSELECT '-------- Test for BUG#9361 --------' as "";--enable_query_logCREATE 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 t2, (SELECT a FROM t1) AS t SET t2.b = t.a+5 ;SELECT * FROM t1 ORDER BY a;SELECT * FROM t2 ORDER BY a;sync_slave_with_master;connection slave;SELECT * FROM t1 ORDER BY a;SELECT * FROM t2 ORDER BY a;connection master;drop table t1,t2;################################################################################  Test for BUG#9361: #  Subselects should work inside multi-updates#--disable_query_logSELECT '-------- Test 1 for BUG#9361 --------' as "";--enable_query_logconnection master;--disable_warningsDROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;--enable_warningsCREATE TABLE t1 (  a1  char(30),  a2  int,  a3  int,  a4  char(30),  a5  char(30));CREATE TABLE t2 (  b1  int,  b2  char(30));# Insert one row per tableINSERT INTO t1 VALUES ('Yes', 1, NULL, 'foo', 'bar');INSERT INTO t2 VALUES (1, 'baz');# This should update the row in t1UPDATE t1 a, t2   SET    a.a1 = 'No'   WHERE  a.a2 =     (SELECT  b1      FROM    t2      WHERE   b2 = 'baz')   AND a.a3 IS NULL   AND a.a4 = 'foo'   AND a.a5 = 'bar';sync_slave_with_master;connection slave;SELECT * FROM t1;SELECT * FROM t2;connection master;DROP TABLE t1, t2;################################################################################ Second test for BUG#9361#--disable_query_logSELECT '-------- Test 2 for BUG#9361 --------' as "";--enable_query_logconnection master;--disable_warningsDROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;DROP TABLE IF EXISTS t3;--enable_warningsCREATE TABLE t1 (  i   INT,  j   INT,  x   INT,  y   INT,  z   INT);CREATE TABLE t2 (  i   INT,  k   INT,  x   INT,  y   INT,  z   INT);CREATE TABLE t3 (  j   INT,  k   INT,  x   INT,  y   INT,  z   INT);INSERT INTO t1 VALUES ( 1, 2,13,14,15);INSERT INTO t2 VALUES ( 1, 3,23,24,25);INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);UPDATE      t1 AS a  INNER JOIN  t2 AS b               ON a.i = b.iINNER JOIN  t3 AS c               ON a.j = c.j  AND  b.k = c.kSET         a.x = b.x,             a.y = b.y,             a.z = (              SELECT  sum(z)               FROM    t3              WHERE   y = 34             ) WHERE       b.x = 23;sync_slave_with_master;connection slave;SELECT * FROM t1;connection master;DROP TABLE t1, t2, t3;################################################################################ BUG#12618## TEST: Replication of a statement containing a join in a multi-update.DROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;CREATE TABLE t1 (  idp int(11) NOT NULL default '0',  idpro int(11) default NULL,  price decimal(19,4) default NULL,  PRIMARY KEY (idp));CREATE TABLE t2 (  idpro int(11) NOT NULL default '0',  price decimal(19,4) default NULL,  nbprice int(11) default NULL,  PRIMARY KEY (idpro));INSERT INTO t1 VALUES   (1,1,'3.0000'),  (2,2,'1.0000'),  (3,1,'1.0000'),  (4,1,'4.0000'),  (5,3,'2.0000'),  (6,2,'4.0000');INSERT INTO t2 VALUES   (1,'0.0000',0),  (2,'0.0000',0),  (3,'0.0000',0);# This update sets t2 to the minimal prices for each productupdate   t2    join   ( select    idpro, min(price) as min_price, count(*) as nbr_price    from      t1     where     idpro>0 and price>0     group by  idpro  ) as table_priceon   t2.idpro = table_price.idpro set  t2.price = table_price.min_price,      t2.nbprice = table_price.nbr_price;select "-- MASTER AFTER JOIN --" as "";select * from t1;select * from t2;sync_slave_with_master;select "-- SLAVE AFTER JOIN --" as "";select * from t1;select * from t2;connection master;drop table t1, t2;sync_slave_with_master;# End of 4.1 tests

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -