diff options
author | tomas@poseidon.ndb.mysql.com <> | 2004-11-25 18:12:05 +0000 |
---|---|---|
committer | tomas@poseidon.ndb.mysql.com <> | 2004-11-25 18:12:05 +0000 |
commit | a90335e912430dd406e37fae3e570e5f6b79e5dc (patch) | |
tree | 4edfdf30d004f2400d74d64b530193cc238d2bd4 /mysql-test/t/ndb_read_multi_range.test | |
parent | 68e4a0fe43288098af6864e44b115adbb07a5a0f (diff) | |
download | mariadb-git-a90335e912430dd406e37fae3e570e5f6b79e5dc.tar.gz |
sql/ha_ndbcluster.cc
added missing DBUG_RETURN's
mysql-test/r/ndb_read_multi_range.result@1.0
BitKeeper file /home/tomas/wl2126/mysql-test/r/ndb_read_multi_range.result
mysql-test/r/ndb_read_multi_range.result@1.1
(NO COMMENTS AVAILABLE)
mysql-test/t/ndb_read_multi_range.test@1.0
BitKeeper file /home/tomas/wl2126/mysql-test/t/ndb_read_multi_range.test
mysql-test/t/ndb_read_multi_range.test@1.1
(NO COMMENTS AVAILABLE)
Diffstat (limited to 'mysql-test/t/ndb_read_multi_range.test')
-rw-r--r-- | mysql-test/t/ndb_read_multi_range.test | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/mysql-test/t/ndb_read_multi_range.test b/mysql-test/t/ndb_read_multi_range.test new file mode 100644 index 00000000000..97bb8827907 --- /dev/null +++ b/mysql-test/t/ndb_read_multi_range.test @@ -0,0 +1,152 @@ +-- source include/have_ndb.inc + +--disable_warnings +DROP TABLE IF EXISTS t1, r1; +--enable_warnings + +# +# Basic test to see that batching is working +# + +create table t1 ( + a int primary key, + b int not null, + c int not null, + index(b), unique index using hash(c) +) engine = ndb; +insert into t1 values + (1,2,1),(2,3,2),(3,4,3),(4,5,4), + (5,2,12),(6,3,11),(7,4,10),(8,5,9), + (9,2,8),(10,3,7),(11,4,6),(12,5,5); + +# batch on primary key +create table r1 as select * from t1 where a in (2,8,12); +select * from r1 order by a; +drop table r1; + +# batch on ordered index +create table r1 as select * from t1 where b in (1,2,5); +select * from r1 order by a; +drop table r1; + +# batch on unique hash index +create table r1 as select * from t1 where c in (2,8,12); +select * from r1 order by a; +drop table r1; + +# batch on primary key, missing values +create table r1 as select * from t1 where a in (33,8,12); +select * from r1 order by a; +drop table r1; +select * from t1 where a in (33,34,35) order by a; +select * from t1 where a in (33,8,12) order by a; +create table r1 as select * from t1 where a in (2,33,8,12,34); +select * from r1 order by a; +drop table r1; + +# batch on ordered index, missing values +create table r1 as select * from t1 where b in (1,33,5); +select * from r1 order by a; +drop table r1; +select * from t1 where b in (1,33,5) order by a; +create table r1 as select * from t1 where b in (45,1,33,5,44); +select * from r1 order by a; +drop table r1; +select * from t1 where b in (45,22) order by a; + +# current bug in ndb, cannot handle missing values for unique indexes +# batch on unique hash index, missing values +#create table r1 as select * from t1 where c in (2,8,33); +#select * from r1 order by a; +#drop table r1; +#create table r1 as select * from t1 where c in (13,2,8,33,12); +#select * from r1 order by a; +#drop table r1; + +drop table t1; + +# +# Somewhat more complicated +# + +create table t1 ( + a int not null, + b int not null, + c int not null, + d int not null, + e int not null, + primary key (a,b,c,d), index (d) +) engine = ndb; + +insert into t1 values + (1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1), + (5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1), + (9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1), + (1,2,1,2,1), + (1,2,1,3,1), + (1,2,1,4,1), + (1,2,1,5,1); + +# batch on primary key +create table r1 as select * from t1 + where a=1 and b=2 and c=1 and d in (1,4,3,2); +select * from r1 order by a,b,c,d; +drop table r1; + +# batched update ordered index, one value for all +update t1 set e = 100 + where d in (12,6,7); +select * from t1 where d in (12,6,7) order by a,b,c,d; +select * from t1 where d not in (12,6,7) and e = 100; + +# batched update primary key, one value for all +update t1 + set e = 101 + where a=1 and + b=2 and + c=1 and + d in (1,4,3,2); +select * + from t1 + where a=1 and b=2 and c=1 and d in (1,4,3,2) + order by a,b,c,d; +select * + from t1 + where not (a=1 and b=2 and c=1 and d in (1,4,3,2)) + and e=101; + + +# batched update ordered index, different values +update t1 + set e = + (case d + when 12 then 112 + when 6 then 106 + when 7 then 107 + end) + where d in (12,6,7); +select * from t1 where d in (12,6,7) order by a,b,c,d; + +# batched update primary key, different values +update t1 + set e = + (case d + when 1 then 111 + when 4 then 444 + when 3 then 333 + when 2 then 222 + end) + where a=1 and + b=2 and + c=1 and + d in (1,4,3,2); +select * + from t1 + where a=1 and b=2 and c=1 and d in (1,4,3,2) + order by a,b,c,d; + +# batched delete +delete from t1 where d in (12,6,7); +select * from t1 where d in (12,6,7); + +drop table t1; |