ndb_replace.test
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· TEST 代码 · 共 105 行
TEST
105 行
-- source include/have_ndb.inc-- source include/not_embedded.inc## Test of REPLACE with NDB#--disable_warningsdrop table if exists t1,t2;--enable_warningsCREATE TABLE t1 ( gesuchnr int(11) DEFAULT '0' NOT NULL, benutzer_id int(11) DEFAULT '0' NOT NULL, PRIMARY KEY (gesuchnr,benutzer_id)) engine=ndbcluster;replace into t1 (gesuchnr,benutzer_id) values (2,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);insert into t1 (gesuchnr, benutzer_id) value (3,2);replace into t1 (gesuchnr,benutzer_id) values (1,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);--error 1062insert into t1 (gesuchnr,benutzer_id) values (1,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);select * from t1 order by gesuchnr;drop table t1;# End of 4.1 tests# bug#17431CREATE TABLE t1(i INT PRIMARY KEY AUTO_INCREMENT, j INT, k INT, UNIQUE INDEX(j) ) ENGINE = ndb;INSERT INTO t1 VALUES (1,1,23),(2,2,24);REPLACE INTO t1 (j,k) VALUES (1,42);REPLACE INTO t1 (i,j) VALUES (17,2);SELECT * from t1 ORDER BY i;DROP TABLE t1;# bug#19906CREATE TABLE t2 (a INT(11) NOT NULL, b INT(11) NOT NULL, c INT(11) NOT NULL, x TEXT, y TEXT, z TEXT, id INT(10) unsigned NOT NULL AUTO_INCREMENT, i INT(11) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY a (a,b,c)) ENGINE=ndbcluster;REPLACE INTO t2 (a,b,c,x,y,z,i) VALUES (1,1,1,'a','a','a',1),(1,1,1,'b','b','b',2), (1,1,1,'c','c','c',3);SELECT * FROM t2 ORDER BY id;REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'a','a','a',1);REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'b','b','b',2);SELECT * FROM t2 ORDER BY id;DROP TABLE t2;## Bug #20728 "REPLACE does not work correctly for NDB table with PK and# unique index"#--disable_warningsdrop table if exists t1;--enable_warningscreate table t1 (pk int primary key, apk int unique, data int) engine=ndbcluster;# Test for plain replace which updates pkinsert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);replace into t1 (pk, apk) values (4, 1), (5, 2);select * from t1 order by pk;delete from t1;# Another test for plain replace which doesn't touch pkinsert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);replace into t1 (pk, apk) values (1, 4), (2, 5);select * from t1 order by pk;delete from t1;# Test for load data replace which updates pkinsert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);select * from t1 order by pk;delete from t1;# Now test for load data replace which doesn't touch pkinsert into t1 values (1, 1, 1), (3, 3, 3), (5, 5, 5);load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);select * from t1 order by pk;delete from t1;# Finally test for both types of replace ... selectinsert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);replace into t1 (pk, apk) select 4, 1;replace into t1 (pk, apk) select 2, 4;select * from t1 order by pk;# Clean-updrop table t1;--echo End of 5.0 tests.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?