mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
between tests added
bugfixes will follow
This commit is contained in:
parent
e56383eff2
commit
f96d57d302
2 changed files with 45 additions and 0 deletions
|
@ -226,3 +226,31 @@ insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||||
id1 idnull
|
id1 idnull
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (x int, y int, index(x), index(y));
|
||||||
|
insert into t1 (x) values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
update t1 set y=x;
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 7 and t1.y+0;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 ALL x NULL NULL NULL 9 Using where
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 7 and t2.x <= t1.y+0;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 range x x 5 NULL 4 Using where
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 ALL x NULL NULL NULL 9 Using where
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 ALL x NULL NULL NULL 9 Range checked for each record (index map: 1)
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 ALL x NULL NULL NULL 9 Using where
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y;
|
||||||
|
table type possible_keys key key_len ref rows Extra
|
||||||
|
t1 ref y y 5 const 1 Using where
|
||||||
|
t2 range x x 5 NULL 2 Using where
|
||||||
|
drop table t1;
|
||||||
|
|
|
@ -183,3 +183,20 @@ insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BETWEEN problems
|
||||||
|
#
|
||||||
|
create table t1 (x int, y int, index(x), index(y));
|
||||||
|
insert into t1 (x) values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
update t1 set y=x;
|
||||||
|
# between with only one end fixed
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 7 and t1.y+0;
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 7 and t2.x <= t1.y+0;
|
||||||
|
# between with both expressions on both ends
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1;
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1;
|
||||||
|
# equation propagation
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y;
|
||||||
|
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue