Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-1
This commit is contained in:
commit
e282c8cc6f
@ -76,13 +76,13 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
|
||||
explain select * from t0 where key2 = 45 or key1 is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
|
||||
1 SIMPLE t0 range i1,i2 i2 4 NULL 1 Using where
|
||||
explain select * from t0 where key2=10 or key3=3 or key4 <=> null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 index_merge i2,i3,i4 i2,i3 4,4 NULL 2 Using where
|
||||
explain select * from t0 where key2=10 or key3=3 or key4 is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL i2,i3,i4 NULL NULL NULL 1024 Using where
|
||||
1 SIMPLE t0 index_merge i2,i3,i4 i2,i3 4,4 NULL 2 Using where
|
||||
explain select key1 from t0 where (key1 <=> null) or (key2 < 5) or
|
||||
(key3=10) or (key4 <=> null);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
|
@ -91,7 +91,7 @@ grp a c id a c d
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
explain select t1.*,t2.* from t1,t2 where t1.a=t2.a and isnull(t2.a)=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
explain select t1.*,t2.* from t1 left join t2 on t1.a=t2.a where isnull(t2.a)=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 7
|
||||
|
@ -142,3 +142,14 @@ a b c d
|
||||
0 0000-00-00 00:00:00 0
|
||||
0 0000-00-00 00:00:00 0
|
||||
drop table t1;
|
||||
create table t1 (a int not null, b int not null, index idx(a));
|
||||
insert into t1 values
|
||||
(1,1), (2,2), (3,3), (4,4), (5,5), (6,6),
|
||||
(7,7), (8,8), (9,9), (10,10), (11,11), (12,12);
|
||||
explain select * from t1 where a between 2 and 3;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range idx idx 4 NULL 2 Using where
|
||||
explain select * from t1 where a between 2 and 3 or b is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range idx idx 4 NULL 2 Using where
|
||||
drop table t1;
|
||||
|
@ -86,3 +86,14 @@ INSERT INTO t1 (d) values (null),(null);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test to check elimination of IS NULL predicate for a non-nullable attribute
|
||||
# (bug #1990)
|
||||
#
|
||||
create table t1 (a int not null, b int not null, index idx(a));
|
||||
insert into t1 values
|
||||
(1,1), (2,2), (3,3), (4,4), (5,5), (6,6),
|
||||
(7,7), (8,8), (9,9), (10,10), (11,11), (12,12);
|
||||
explain select * from t1 where a between 2 and 3;
|
||||
explain select * from t1 where a between 2 and 3 or b is null;
|
||||
drop table t1;
|
||||
|
@ -746,6 +746,7 @@ public:
|
||||
if (!args[0]->maybe_null)
|
||||
{
|
||||
used_tables_cache= 0; /* is always false */
|
||||
const_item_cache= 1;
|
||||
cached_value= (longlong) 0;
|
||||
}
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user