diff options
Diffstat (limited to 'mysql-test/suite/ndb/t/ndb_subquery.test')
-rw-r--r-- | mysql-test/suite/ndb/t/ndb_subquery.test | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/mysql-test/suite/ndb/t/ndb_subquery.test b/mysql-test/suite/ndb/t/ndb_subquery.test new file mode 100644 index 00000000000..6282c31c922 --- /dev/null +++ b/mysql-test/suite/ndb/t/ndb_subquery.test @@ -0,0 +1,79 @@ +-- source include/have_ndb.inc +-- source include/not_embedded.inc + +--disable_warnings +drop table if exists t1, t2, t3, t4; +--enable_warnings + +########## +# bug#5367 +create table t1 (p int not null primary key, u int not null, o int not null, +unique (u), key(o)) engine=ndb; + +create table t2 (p int not null primary key, u int not null, o int not null, +unique (u), key(o)) engine=ndb; + +create table t3 (a int not null primary key, b int not null) engine=ndb; +create table t4 (c int not null primary key, d int not null) engine=ndb; + +insert into t1 values (1,1,1),(2,2,2),(3,3,3); +insert into t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5); +insert into t3 values (1,10), (2,10), (3,30), (4, 30); +insert into t4 values (1,10), (2,10), (3,30), (4, 30); + +# Use pk +--replace_column 9 # +explain select * from t2 where p NOT IN (select p from t1); +select * from t2 where p NOT IN (select p from t1) order by p; + +# Use unique index +--replace_column 9 # +explain select * from t2 where p NOT IN (select u from t1); +select * from t2 where p NOT IN (select u from t1) order by p; + +# Use ordered index +--replace_column 9 # +explain select * from t2 where p NOT IN (select o from t1); +select * from t2 where p NOT IN (select o from t1) order by p; + +# Use scan +--replace_column 9 # +explain select * from t2 where p NOT IN (select p+0 from t1); +select * from t2 where p NOT IN (select p+0 from t1) order by p; + +drop table t1; +drop table t2; +# bug#5367 +########## + +# End of 4.1 tests + +# +# bug#11205 +# +create table t1 (p int not null primary key, u int not null) engine=ndb; +insert into t1 values (1,1),(2,2),(3,3); + +create table t2 as +select t1.* +from t1 as t1, t1 as t2, t1 as t3, t1 as t4, t1 as t5, t1 as t6, t1 as t7, t1 as t8 +where t1.u = t2.u + and t2.u = t3.u + and t3.u = t4.u + and t4.u = t5.u + and t5.u = t6.u + and t6.u = t7.u + and t7.u = t8.u; + +select * from t2 order by 1; + +select * from t3 where a = any (select c from t4 where c = 1) order by a; +select * from t3 where a in (select c from t4 where c = 1) order by a; +select * from t3 where a <> some (select c from t4 where c = 1) order by a; +select * from t3 where a > all (select c from t4 where c = 1) order by a; +select * from t3 where row(1,10) = (select c,d from t4 where c = 1) order by a; +select * from t3 where exists (select * from t4 where c = 1) order by a; + +drop table if exists t1, t2, t3, t4; + +--echo End of 5.1 tests |