ndb - replace explain 'rows' by '#' in ndb*.test - stats are not deterministic

parent 6b6cac0d
...@@ -568,7 +568,7 @@ t1 ...@@ -568,7 +568,7 @@ t1
insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1); insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1);
explain select * from t1 where a12345678901234567890123456789a1234567890=2; explain select * from t1 where a12345678901234567890123456789a1234567890=2;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref a12345678901234567890123456789a1234567890 a12345678901234567890123456789a1234567890 5 const 1 Using where 1 SIMPLE t1 ref a12345678901234567890123456789a1234567890 a12345678901234567890123456789a1234567890 5 const # Using where
select * from t1 where a12345678901234567890123456789a1234567890=2; select * from t1 where a12345678901234567890123456789a1234567890=2;
a1234567890123456789012345678901234567890 a12345678901234567890123456789a1234567890 a1234567890123456789012345678901234567890 a12345678901234567890123456789a1234567890
5 2 5 2
......
...@@ -40,7 +40,7 @@ insert into t1 values(2,@b2,222,@d2); ...@@ -40,7 +40,7 @@ insert into t1 values(2,@b2,222,@d2);
commit; commit;
explain select * from t1 where a = 1; explain select * from t1 where a = 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3) select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
from t1 where a=1; from t1 where a=1;
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3) a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
...@@ -87,7 +87,7 @@ replace t1 set a=2,b=@b2,c=222,d=@d2; ...@@ -87,7 +87,7 @@ replace t1 set a=2,b=@b2,c=222,d=@d2;
commit; commit;
explain select * from t1 where a = 1; explain select * from t1 where a = 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3) select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
from t1 where a=1; from t1 where a=1;
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3) a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
...@@ -134,7 +134,7 @@ insert into t1 values(2,@b2,222,@d2); ...@@ -134,7 +134,7 @@ insert into t1 values(2,@b2,222,@d2);
commit; commit;
explain select * from t1 where c = 111; explain select * from t1 where c = 111;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref c c 4 const 1 1 SIMPLE t1 ref c c 4 const #
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3) select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
from t1 where c=111; from t1 where c=111;
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3) a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
...@@ -177,7 +177,7 @@ insert into t1 values(9,'b9',999,'dd9'); ...@@ -177,7 +177,7 @@ insert into t1 values(9,'b9',999,'dd9');
commit; commit;
explain select * from t1; explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 9 1 SIMPLE t1 ALL NULL NULL NULL NULL #
select * from t1 order by a; select * from t1 order by a;
a b c d a b c d
1 b1 111 dd1 1 b1 111 dd1
...@@ -212,7 +212,7 @@ insert into t1 values(2,@b2,222,@d2); ...@@ -212,7 +212,7 @@ insert into t1 values(2,@b2,222,@d2);
commit; commit;
explain select * from t1; explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 1 SIMPLE t1 ALL NULL NULL NULL NULL #
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3) select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
from t1 order by a; from t1 order by a;
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3) a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
...@@ -242,7 +242,7 @@ insert into t1 values(9,'b9',999,'dd9'); ...@@ -242,7 +242,7 @@ insert into t1 values(9,'b9',999,'dd9');
commit; commit;
explain select * from t1 where c >= 100 order by a; explain select * from t1 where c >= 100 order by a;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range c c 4 NULL 9 Using where; Using filesort 1 SIMPLE t1 range c c 4 NULL # Using where; Using filesort
select * from t1 where c >= 100 order by a; select * from t1 where c >= 100 order by a;
a b c d a b c d
1 b1 111 dd1 1 b1 111 dd1
...@@ -278,7 +278,7 @@ insert into t1 values(2,@b2,222,@d2); ...@@ -278,7 +278,7 @@ insert into t1 values(2,@b2,222,@d2);
commit; commit;
explain select * from t1 where c >= 100 order by a; explain select * from t1 where c >= 100 order by a;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range c c 4 NULL 2 Using where; Using filesort 1 SIMPLE t1 range c c 4 NULL # Using where; Using filesort
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3) select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
from t1 where c >= 100 order by a; from t1 where c >= 100 order by a;
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3) a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
......
...@@ -186,9 +186,6 @@ p a ...@@ -186,9 +186,6 @@ p a
4 aAa 4 aAa
5 aaa 5 aaa
6 AAA 6 AAA
explain select * from t1 where a = 'zZz' order by p;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const a NULL NULL NULL 1
select * from t1 where a = 'aAa' order by p; select * from t1 where a = 'aAa' order by p;
p a p a
1 aAa 1 aAa
...@@ -223,9 +220,6 @@ p a ...@@ -223,9 +220,6 @@ p a
4 aAa 4 aAa
5 aaa 5 aaa
6 AAA 6 AAA
explain select * from t1 where a = 'zZz' order by p;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const a NULL NULL NULL 1
select * from t1 where a = 'aAa' order by p; select * from t1 where a = 'aAa' order by p;
p a p a
1 aAa 1 aAa
......
...@@ -513,7 +513,7 @@ time_field = '01:01:01' and ...@@ -513,7 +513,7 @@ time_field = '01:01:01' and
date_time = '1901-01-01 01:01:01' date_time = '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string = "aaaa" and string = "aaaa" and
vstring = "aaaa" and vstring = "aaaa" and
...@@ -570,7 +570,7 @@ time_field != '01:01:01' and ...@@ -570,7 +570,7 @@ time_field != '01:01:01' and
date_time != '1901-01-01 01:01:01' date_time != '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string != "aaaa" and string != "aaaa" and
vstring != "aaaa" and vstring != "aaaa" and
...@@ -629,7 +629,7 @@ time_field > '01:01:01' and ...@@ -629,7 +629,7 @@ time_field > '01:01:01' and
date_time > '1901-01-01 01:01:01' date_time > '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string > "aaaa" and string > "aaaa" and
vstring > "aaaa" and vstring > "aaaa" and
...@@ -688,7 +688,7 @@ time_field >= '01:01:01' and ...@@ -688,7 +688,7 @@ time_field >= '01:01:01' and
date_time >= '1901-01-01 01:01:01' date_time >= '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string >= "aaaa" and string >= "aaaa" and
vstring >= "aaaa" and vstring >= "aaaa" and
...@@ -748,7 +748,7 @@ time_field < '04:04:04' and ...@@ -748,7 +748,7 @@ time_field < '04:04:04' and
date_time < '1904-04-04 04:04:04' date_time < '1904-04-04 04:04:04'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string < "dddd" and string < "dddd" and
vstring < "dddd" and vstring < "dddd" and
...@@ -807,7 +807,7 @@ time_field <= '04:04:04' and ...@@ -807,7 +807,7 @@ time_field <= '04:04:04' and
date_time <= '1904-04-04 04:04:04' date_time <= '1904-04-04 04:04:04'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string <= "dddd" and string <= "dddd" and
vstring <= "dddd" and vstring <= "dddd" and
...@@ -868,7 +868,7 @@ time_field = '01:01:01' and ...@@ -868,7 +868,7 @@ time_field = '01:01:01' and
date_time = '1901-01-01 01:01:01' date_time = '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref medium_index medium_index 3 const 1 Using where with pushed condition; Using filesort 1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string = "aaaa" and string = "aaaa" and
vstring = "aaaa" and vstring = "aaaa" and
...@@ -925,7 +925,7 @@ time_field != '01:01:01' and ...@@ -925,7 +925,7 @@ time_field != '01:01:01' and
date_time != '1901-01-01 01:01:01' date_time != '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string != "aaaa" and string != "aaaa" and
vstring != "aaaa" and vstring != "aaaa" and
...@@ -984,7 +984,7 @@ time_field > '01:01:01' and ...@@ -984,7 +984,7 @@ time_field > '01:01:01' and
date_time > '1901-01-01 01:01:01' date_time > '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string > "aaaa" and string > "aaaa" and
vstring > "aaaa" and vstring > "aaaa" and
...@@ -1043,7 +1043,7 @@ time_field >= '01:01:01' and ...@@ -1043,7 +1043,7 @@ time_field >= '01:01:01' and
date_time >= '1901-01-01 01:01:01' date_time >= '1901-01-01 01:01:01'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string >= "aaaa" and string >= "aaaa" and
vstring >= "aaaa" and vstring >= "aaaa" and
...@@ -1103,7 +1103,7 @@ time_field < '04:04:04' and ...@@ -1103,7 +1103,7 @@ time_field < '04:04:04' and
date_time < '1904-04-04 04:04:04' date_time < '1904-04-04 04:04:04'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string < "dddd" and string < "dddd" and
vstring < "dddd" and vstring < "dddd" and
...@@ -1162,7 +1162,7 @@ time_field <= '04:04:04' and ...@@ -1162,7 +1162,7 @@ time_field <= '04:04:04' and
date_time <= '1904-04-04 04:04:04' date_time <= '1904-04-04 04:04:04'
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string <= "dddd" and string <= "dddd" and
vstring <= "dddd" and vstring <= "dddd" and
...@@ -1202,7 +1202,7 @@ bin like concat(0xBB, '%') and ...@@ -1202,7 +1202,7 @@ bin like concat(0xBB, '%') and
vbin like concat(0xBB, '%') vbin like concat(0xBB, '%')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string like "b%" and string like "b%" and
vstring like "b%" and vstring like "b%" and
...@@ -1219,7 +1219,7 @@ bin not like concat(0xBB, '%') and ...@@ -1219,7 +1219,7 @@ bin not like concat(0xBB, '%') and
vbin not like concat(0xBB, '%') vbin not like concat(0xBB, '%')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string not like "b%" and string not like "b%" and
vstring not like "b%" and vstring not like "b%" and
...@@ -1255,7 +1255,7 @@ select auto from t1 where ...@@ -1255,7 +1255,7 @@ select auto from t1 where
(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03') (date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
(string between "aaaa" and "cccc") and (string between "aaaa" and "cccc") and
(vstring between "aaaa" and "cccc") and (vstring between "aaaa" and "cccc") and
...@@ -1307,7 +1307,7 @@ select auto from t1 where ...@@ -1307,7 +1307,7 @@ select auto from t1 where
('1901-01-01 01:01:01' between date_time and date_time) ('1901-01-01 01:01:01' between date_time and date_time)
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 1 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
("aaaa" between string and string) and ("aaaa" between string and string) and
("aaaa" between vstring and vstring) and ("aaaa" between vstring and vstring) and
...@@ -1358,7 +1358,7 @@ select auto from t1 where ...@@ -1358,7 +1358,7 @@ select auto from t1 where
(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03') (date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 1 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
(string not between "aaaa" and "cccc") and (string not between "aaaa" and "cccc") and
(vstring not between "aaaa" and "cccc") and (vstring not between "aaaa" and "cccc") and
...@@ -1409,7 +1409,7 @@ select auto from t1 where ...@@ -1409,7 +1409,7 @@ select auto from t1 where
('1901-01-01 01:01:01' not between date_time and date_time) ('1901-01-01 01:01:01' not between date_time and date_time)
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
("aaaa" not between string and string) and ("aaaa" not between string and string) and
("aaaa" not between vstring and vstring) and ("aaaa" not between vstring and vstring) and
...@@ -1462,7 +1462,7 @@ time_field in('01:01:01','03:03:03') and ...@@ -1462,7 +1462,7 @@ time_field in('01:01:01','03:03:03') and
date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03') date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 2 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string in("aaaa","cccc") and string in("aaaa","cccc") and
vstring in("aaaa","cccc") and vstring in("aaaa","cccc") and
...@@ -1514,7 +1514,7 @@ select auto from t1 where ...@@ -1514,7 +1514,7 @@ select auto from t1 where
'1901-01-01 01:01:01' in(date_time) '1901-01-01 01:01:01' in(date_time)
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref medium_index medium_index 3 const 1 Using where with pushed condition; Using filesort 1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
"aaaa" in(string) and "aaaa" in(string) and
"aaaa" in(vstring) and "aaaa" in(vstring) and
...@@ -1565,7 +1565,7 @@ time_field not in('01:01:01','03:03:03') and ...@@ -1565,7 +1565,7 @@ time_field not in('01:01:01','03:03:03') and
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03') date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range medium_index medium_index 3 NULL 6 Using where with pushed condition; Using filesort 1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
string not in("aaaa","cccc") and string not in("aaaa","cccc") and
vstring not in("aaaa","cccc") and vstring not in("aaaa","cccc") and
...@@ -1617,7 +1617,7 @@ select auto from t1 where ...@@ -1617,7 +1617,7 @@ select auto from t1 where
'1901-01-01 01:01:01' not in(date_time) '1901-01-01 01:01:01' not in(date_time)
order by auto; order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select auto from t1 where select auto from t1 where
"aaaa" not in(string) and "aaaa" not in(string) and
"aaaa" not in(vstring) and "aaaa" not in(vstring) and
...@@ -1704,7 +1704,7 @@ count(*) ...@@ -1704,7 +1704,7 @@ count(*)
explain explain
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 6 Using where with pushed condition; Using filesort 1 SIMPLE t2 ALL PRIMARY NULL NULL NULL # Using where with pushed condition; Using filesort
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3
2 2 NULL NULL 2 2 NULL NULL
...@@ -1712,7 +1712,7 @@ pk1 attr1 attr2 attr3 ...@@ -1712,7 +1712,7 @@ pk1 attr1 attr2 attr3
explain explain
select * from t2 where attr3 is not null and attr1 > 2 order by pk1; select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort 1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select * from t2 where attr3 is not null and attr1 > 2 order by pk1; select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3
3 3 3 d 3 3 3 d
...@@ -1721,7 +1721,7 @@ pk1 attr1 attr2 attr3 ...@@ -1721,7 +1721,7 @@ pk1 attr1 attr2 attr3
explain explain
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
...@@ -1730,15 +1730,15 @@ pk1 attr1 attr2 attr3 attr4 ...@@ -1730,15 +1730,15 @@ pk1 attr1 attr2 attr3 attr4
explain explain
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using temporary; Using filesort 1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using temporary; Using filesort
1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
0 0 0 a 0 0 0 0 a 0 0 0 a 0 0 0 0 a
explain explain
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t4 range attr1 attr1 4 NULL 5 Using where with pushed condition; Using filesort 1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using filesort
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
...@@ -1746,8 +1746,8 @@ pk1 attr1 attr2 attr3 attr4 ...@@ -1746,8 +1746,8 @@ pk1 attr1 attr2 attr3 attr4
explain explain
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t4 range attr1 attr1 4 NULL 4 Using where with pushed condition; Using temporary; Using filesort 1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using temporary; Using filesort
1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
...@@ -1756,16 +1756,16 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 ...@@ -1756,16 +1756,16 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
explain explain
select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where; Using filesort
explain explain
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using filesort 1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where; Using filesort
explain explain
select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1; select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using temporary; Using filesort
1 SIMPLE t4 ALL NULL NULL NULL NULL 6 Using where 1 SIMPLE t4 ALL NULL NULL NULL NULL # Using where
create table t5 (a int primary key auto_increment, b tinytext not null) create table t5 (a int primary key auto_increment, b tinytext not null)
engine = ndb; engine = ndb;
insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
...@@ -1777,7 +1777,7 @@ a b ...@@ -1777,7 +1777,7 @@ a b
set engine_condition_pushdown = on; set engine_condition_pushdown = on;
explain select * from t5 where b like '%jo%'; explain select * from t5 where b like '%jo%';
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where 1 SIMPLE t5 ALL NULL NULL NULL NULL # Using where
select * from t5 where b like '%jo%' order by a; select * from t5 where b like '%jo%' order by a;
a b a b
1 jonas 1 jonas
...@@ -1793,13 +1793,13 @@ auto ...@@ -1793,13 +1793,13 @@ auto
set engine_condition_pushdown = on; set engine_condition_pushdown = on;
explain select auto from t1 where date_time like '1902-02-02 %'; explain select auto from t1 where date_time like '1902-02-02 %';
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
select auto from t1 where date_time like '1902-02-02 %' order by auto; select auto from t1 where date_time like '1902-02-02 %' order by auto;
auto auto
2 2
explain select auto from t1 where date_time not like '1902-02-02 %'; explain select auto from t1 where date_time not like '1902-02-02 %';
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
select auto from t1 where date_time not like '1902-02-02 %' order by auto; select auto from t1 where date_time not like '1902-02-02 %' order by auto;
auto auto
3 3
......
...@@ -441,7 +441,7 @@ INSERT INTO test.t1 values(1,@vc1,@d1); ...@@ -441,7 +441,7 @@ INSERT INTO test.t1 values(1,@vc1,@d1);
INSERT INTO test.t1 values(2,@vc2,@d2); INSERT INTO test.t1 values(2,@vc2,@d2);
explain SELECT * from test.t1 WHERE a1 = 1; explain SELECT * from test.t1 WHERE a1 = 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3) SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
FROM test.t1 WHERE a1=1 ORDER BY a1; FROM test.t1 WHERE a1=1 ORDER BY a1;
a1 length(a2) substr(a2,1+2*900,2) length(a3) substr(a3,1+3*900,3) a1 length(a2) substr(a2,1+2*900,2) length(a3) substr(a3,1+3*900,3)
......
...@@ -8,32 +8,32 @@ insert into t1 values (1,1,1),(2,2,2),(3,3,3); ...@@ -8,32 +8,32 @@ 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 t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
explain select * from t2 where p NOT IN (select p from t1); explain select * from t2 where p NOT IN (select p from t1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where 1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 Using index 2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func # Using index
select * from t2 where p NOT IN (select p from t1) order by p; select * from t2 where p NOT IN (select p from t1) order by p;
p u o p u o
4 4 4 4 4 4
5 5 5 5 5 5
explain select * from t2 where p NOT IN (select u from t1); explain select * from t2 where p NOT IN (select u from t1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where 1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
2 DEPENDENT SUBQUERY t1 unique_subquery u u 4 func 1 Using index 2 DEPENDENT SUBQUERY t1 unique_subquery u u 4 func # Using index
select * from t2 where p NOT IN (select u from t1) order by p; select * from t2 where p NOT IN (select u from t1) order by p;
p u o p u o
4 4 4 4 4 4
5 5 5 5 5 5
explain select * from t2 where p NOT IN (select o from t1); explain select * from t2 where p NOT IN (select o from t1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where 1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
2 DEPENDENT SUBQUERY t1 index_subquery o o 4 func 1 Using index 2 DEPENDENT SUBQUERY t1 index_subquery o o 4 func # Using index
select * from t2 where p NOT IN (select o from t1) order by p; select * from t2 where p NOT IN (select o from t1) order by p;
p u o p u o
4 4 4 4 4 4
5 5 5 5 5 5
explain select * from t2 where p NOT IN (select p+0 from t1); explain select * from t2 where p NOT IN (select p+0 from t1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where 1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL # Using where
select * from t2 where p NOT IN (select p+0 from t1) order by p; select * from t2 where p NOT IN (select p+0 from t1) order by p;
p u o p u o
4 4 4 4 4 4
......
...@@ -550,6 +550,7 @@ index(a12345678901234567890123456789a1234567890) ...@@ -550,6 +550,7 @@ index(a12345678901234567890123456789a1234567890)
) engine=ndb; ) engine=ndb;
show tables; show tables;
insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1); insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1);
--replace_column 9 #
explain select * from t1 where a12345678901234567890123456789a1234567890=2; explain select * from t1 where a12345678901234567890123456789a1234567890=2;
select * from t1 where a12345678901234567890123456789a1234567890=2; select * from t1 where a12345678901234567890123456789a1234567890=2;
drop table t1; drop table t1;
......
...@@ -65,6 +65,7 @@ select length(@x0),length(@b2),length(@d2) from dual; ...@@ -65,6 +65,7 @@ select length(@x0),length(@b2),length(@d2) from dual;
insert into t1 values(1,@b1,111,@d1); insert into t1 values(1,@b1,111,@d1);
insert into t1 values(2,@b2,222,@d2); insert into t1 values(2,@b2,222,@d2);
commit; commit;
--replace_column 9 #
explain select * from t1 where a = 1; explain select * from t1 where a = 1;
# pk read # pk read
...@@ -108,6 +109,7 @@ select count(*) from t1; ...@@ -108,6 +109,7 @@ select count(*) from t1;
replace t1 set a=1,b=@b1,c=111,d=@d1; replace t1 set a=1,b=@b1,c=111,d=@d1;
replace t1 set a=2,b=@b2,c=222,d=@d2; replace t1 set a=2,b=@b2,c=222,d=@d2;
commit; commit;
--replace_column 9 #
explain select * from t1 where a = 1; explain select * from t1 where a = 1;
# pk read # pk read
...@@ -150,6 +152,7 @@ select count(*) from t1; ...@@ -150,6 +152,7 @@ select count(*) from t1;
insert into t1 values(1,@b1,111,@d1); insert into t1 values(1,@b1,111,@d1);
insert into t1 values(2,@b2,222,@d2); insert into t1 values(2,@b2,222,@d2);
commit; commit;
--replace_column 9 #
explain select * from t1 where c = 111; explain select * from t1 where c = 111;
# hash key read # hash key read
...@@ -190,6 +193,7 @@ insert into t1 values(7,'b7',777,'dd7'); ...@@ -190,6 +193,7 @@ insert into t1 values(7,'b7',777,'dd7');
insert into t1 values(8,'b8',888,'dd8'); insert into t1 values(8,'b8',888,'dd8');
insert into t1 values(9,'b9',999,'dd9'); insert into t1 values(9,'b9',999,'dd9');
commit; commit;
--replace_column 9 #
explain select * from t1; explain select * from t1;
# table scan read # table scan read
...@@ -210,6 +214,7 @@ select count(*) from t1; ...@@ -210,6 +214,7 @@ select count(*) from t1;
insert into t1 values(1,@b1,111,@d1); insert into t1 values(1,@b1,111,@d1);
insert into t1 values(2,@b2,222,@d2); insert into t1 values(2,@b2,222,@d2);
commit; commit;
--replace_column 9 #
explain select * from t1; explain select * from t1;
# table scan read # table scan read
...@@ -239,6 +244,7 @@ insert into t1 values(7,'b7',777,'dd7'); ...@@ -239,6 +244,7 @@ insert into t1 values(7,'b7',777,'dd7');
insert into t1 values(8,'b8',888,'dd8'); insert into t1 values(8,'b8',888,'dd8');
insert into t1 values(9,'b9',999,'dd9'); insert into t1 values(9,'b9',999,'dd9');
commit; commit;
--replace_column 9 #
explain select * from t1 where c >= 100 order by a; explain select * from t1 where c >= 100 order by a;
# range scan read # range scan read
...@@ -260,6 +266,7 @@ select count(*) from t1; ...@@ -260,6 +266,7 @@ select count(*) from t1;
insert into t1 values(1,@b1,111,@d1); insert into t1 values(1,@b1,111,@d1);
insert into t1 values(2,@b2,222,@d2); insert into t1 values(2,@b2,222,@d2);
commit; commit;
--replace_column 9 #
explain select * from t1 where c >= 100 order by a; explain select * from t1 where c >= 100 order by a;
# range scan read # range scan read
......
...@@ -159,8 +159,9 @@ insert into t1 values(5, 'aaa'); ...@@ -159,8 +159,9 @@ insert into t1 values(5, 'aaa');
insert into t1 values(6, 'AAA'); insert into t1 values(6, 'AAA');
# 6 # 6
select * from t1 order by p; select * from t1 order by p;
# plan # plan too flaky
explain select * from t1 where a = 'zZz' order by p; #--replace_column 9 #
#explain select * from t1 where a = 'zZz' order by p;
# 2 # 2
select * from t1 where a = 'aAa' order by p; select * from t1 where a = 'aAa' order by p;
# 2 # 2
...@@ -187,8 +188,9 @@ insert into t1 values(5, 'aaa'); ...@@ -187,8 +188,9 @@ insert into t1 values(5, 'aaa');
insert into t1 values(6, 'AAA'); insert into t1 values(6, 'AAA');
# 6 # 6
select * from t1 order by p; select * from t1 order by p;
# plan # plan too flaky
explain select * from t1 where a = 'zZz' order by p; #--replace_column 9 #
#explain select * from t1 where a = 'zZz' order by p;
# 6 # 6
select * from t1 where a = 'aAa' order by p; select * from t1 where a = 'aAa' order by p;
# 6 # 6
......
...@@ -456,6 +456,7 @@ select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 ...@@ -456,6 +456,7 @@ select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5
set engine_condition_pushdown = on; set engine_condition_pushdown = on;
# Test all types and compare operators # Test all types and compare operators
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string = "aaaa" and string = "aaaa" and
...@@ -511,6 +512,7 @@ time_field = '01:01:01' and ...@@ -511,6 +512,7 @@ time_field = '01:01:01' and
date_time = '1901-01-01 01:01:01' date_time = '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string != "aaaa" and string != "aaaa" and
...@@ -566,6 +568,7 @@ time_field != '01:01:01' and ...@@ -566,6 +568,7 @@ time_field != '01:01:01' and
date_time != '1901-01-01 01:01:01' date_time != '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string > "aaaa" and string > "aaaa" and
...@@ -621,6 +624,7 @@ time_field > '01:01:01' and ...@@ -621,6 +624,7 @@ time_field > '01:01:01' and
date_time > '1901-01-01 01:01:01' date_time > '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string >= "aaaa" and string >= "aaaa" and
...@@ -676,6 +680,7 @@ time_field >= '01:01:01' and ...@@ -676,6 +680,7 @@ time_field >= '01:01:01' and
date_time >= '1901-01-01 01:01:01' date_time >= '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string < "dddd" and string < "dddd" and
...@@ -731,6 +736,7 @@ time_field < '04:04:04' and ...@@ -731,6 +736,7 @@ time_field < '04:04:04' and
date_time < '1904-04-04 04:04:04' date_time < '1904-04-04 04:04:04'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string <= "dddd" and string <= "dddd" and
...@@ -790,6 +796,7 @@ order by auto; ...@@ -790,6 +796,7 @@ order by auto;
create index medium_index on t1(medium); create index medium_index on t1(medium);
# Test all types and compare operators # Test all types and compare operators
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string = "aaaa" and string = "aaaa" and
...@@ -845,6 +852,7 @@ time_field = '01:01:01' and ...@@ -845,6 +852,7 @@ time_field = '01:01:01' and
date_time = '1901-01-01 01:01:01' date_time = '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string != "aaaa" and string != "aaaa" and
...@@ -900,6 +908,7 @@ time_field != '01:01:01' and ...@@ -900,6 +908,7 @@ time_field != '01:01:01' and
date_time != '1901-01-01 01:01:01' date_time != '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string > "aaaa" and string > "aaaa" and
...@@ -955,6 +964,7 @@ time_field > '01:01:01' and ...@@ -955,6 +964,7 @@ time_field > '01:01:01' and
date_time > '1901-01-01 01:01:01' date_time > '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string >= "aaaa" and string >= "aaaa" and
...@@ -1010,6 +1020,7 @@ time_field >= '01:01:01' and ...@@ -1010,6 +1020,7 @@ time_field >= '01:01:01' and
date_time >= '1901-01-01 01:01:01' date_time >= '1901-01-01 01:01:01'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string < "dddd" and string < "dddd" and
...@@ -1065,6 +1076,7 @@ time_field < '04:04:04' and ...@@ -1065,6 +1076,7 @@ time_field < '04:04:04' and
date_time < '1904-04-04 04:04:04' date_time < '1904-04-04 04:04:04'
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string <= "dddd" and string <= "dddd" and
...@@ -1121,6 +1133,7 @@ date_time <= '1904-04-04 04:04:04' ...@@ -1121,6 +1133,7 @@ date_time <= '1904-04-04 04:04:04'
order by auto; order by auto;
# Test LIKE/NOT LIKE # Test LIKE/NOT LIKE
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string like "b%" and string like "b%" and
...@@ -1136,6 +1149,7 @@ bin like concat(0xBB, '%') and ...@@ -1136,6 +1149,7 @@ bin like concat(0xBB, '%') and
vbin like concat(0xBB, '%') vbin like concat(0xBB, '%')
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string not like "b%" and string not like "b%" and
...@@ -1152,6 +1166,7 @@ vbin not like concat(0xBB, '%') ...@@ -1152,6 +1166,7 @@ vbin not like concat(0xBB, '%')
order by auto; order by auto;
# BETWEEN # BETWEEN
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
(string between "aaaa" and "cccc") and (string between "aaaa" and "cccc") and
...@@ -1201,6 +1216,7 @@ select auto from t1 where ...@@ -1201,6 +1216,7 @@ select auto from t1 where
(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03') (date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
("aaaa" between string and string) and ("aaaa" between string and string) and
...@@ -1251,6 +1267,7 @@ select auto from t1 where ...@@ -1251,6 +1267,7 @@ select auto from t1 where
order by auto; order by auto;
# NOT BETWEEN # NOT BETWEEN
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
(string not between "aaaa" and "cccc") and (string not between "aaaa" and "cccc") and
...@@ -1300,6 +1317,7 @@ select auto from t1 where ...@@ -1300,6 +1317,7 @@ select auto from t1 where
(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03') (date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
("aaaa" not between string and string) and ("aaaa" not between string and string) and
...@@ -1350,6 +1368,7 @@ select auto from t1 where ...@@ -1350,6 +1368,7 @@ select auto from t1 where
order by auto; order by auto;
# IN # IN
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string in("aaaa","cccc") and string in("aaaa","cccc") and
...@@ -1399,6 +1418,7 @@ time_field in('01:01:01','03:03:03') and ...@@ -1399,6 +1418,7 @@ time_field in('01:01:01','03:03:03') and
date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03') date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
"aaaa" in(string) and "aaaa" in(string) and
...@@ -1449,6 +1469,7 @@ select auto from t1 where ...@@ -1449,6 +1469,7 @@ select auto from t1 where
order by auto; order by auto;
# NOT IN # NOT IN
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
string not in("aaaa","cccc") and string not in("aaaa","cccc") and
...@@ -1498,6 +1519,7 @@ time_field not in('01:01:01','03:03:03') and ...@@ -1498,6 +1519,7 @@ time_field not in('01:01:01','03:03:03') and
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03') date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
order by auto; order by auto;
--replace_column 9 #
explain explain
select auto from t1 where select auto from t1 where
"aaaa" not in(string) and "aaaa" not in(string) and
...@@ -1607,35 +1629,44 @@ date_time = '1901-01-01 01:01:01'; ...@@ -1607,35 +1629,44 @@ date_time = '1901-01-01 01:01:01';
select count(*) from t1; select count(*) from t1;
# Various tests # Various tests
--replace_column 9 #
explain explain
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
--replace_column 9 #
explain explain
select * from t2 where attr3 is not null and attr1 > 2 order by pk1; select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
select * from t2 where attr3 is not null and attr1 > 2 order by pk1; select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
--replace_column 9 #
explain explain
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
--replace_column 9 #
explain explain
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
--replace_column 9 #
explain explain
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
--replace_column 9 #
explain explain
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
# Some tests that are currently not supported and should not push condition # Some tests that are currently not supported and should not push condition
--replace_column 9 #
explain explain
select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
--replace_column 9 #
explain explain
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
--replace_column 9 #
explain explain
select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1; select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
...@@ -1646,6 +1677,7 @@ insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); ...@@ -1646,6 +1677,7 @@ insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
set engine_condition_pushdown = off; set engine_condition_pushdown = off;
select * from t5 where b like '%jo%' order by a; select * from t5 where b like '%jo%' order by a;
set engine_condition_pushdown = on; set engine_condition_pushdown = on;
--replace_column 9 #
explain select * from t5 where b like '%jo%'; explain select * from t5 where b like '%jo%';
select * from t5 where b like '%jo%' order by a; select * from t5 where b like '%jo%' order by a;
...@@ -1654,8 +1686,10 @@ set engine_condition_pushdown = off; ...@@ -1654,8 +1686,10 @@ set engine_condition_pushdown = off;
select auto from t1 where date_time like '1902-02-02 %' order by auto; select auto from t1 where date_time like '1902-02-02 %' order by auto;
select auto from t1 where date_time not like '1902-02-02 %' order by auto; select auto from t1 where date_time not like '1902-02-02 %' order by auto;
set engine_condition_pushdown = on; set engine_condition_pushdown = on;
--replace_column 9 #
explain select auto from t1 where date_time like '1902-02-02 %'; explain select auto from t1 where date_time like '1902-02-02 %';
select auto from t1 where date_time like '1902-02-02 %' order by auto; select auto from t1 where date_time like '1902-02-02 %' order by auto;
--replace_column 9 #
explain select auto from t1 where date_time not like '1902-02-02 %'; explain select auto from t1 where date_time not like '1902-02-02 %';
select auto from t1 where date_time not like '1902-02-02 %' order by auto; select auto from t1 where date_time not like '1902-02-02 %' order by auto;
......
...@@ -480,6 +480,7 @@ select length(@x0),length(@b2),length(@d2) from dual; ...@@ -480,6 +480,7 @@ select length(@x0),length(@b2),length(@d2) from dual;
INSERT INTO test.t1 values(1,@vc1,@d1); INSERT INTO test.t1 values(1,@vc1,@d1);
INSERT INTO test.t1 values(2,@vc2,@d2); INSERT INTO test.t1 values(2,@vc2,@d2);
--replace_column 9 #
explain SELECT * from test.t1 WHERE a1 = 1; explain SELECT * from test.t1 WHERE a1 = 1;
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3) SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
......
...@@ -18,18 +18,22 @@ insert into t1 values (1,1,1),(2,2,2),(3,3,3); ...@@ -18,18 +18,22 @@ 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 t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
# Use pk # Use pk
--replace_column 9 #
explain select * from t2 where p NOT IN (select p from t1); 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; select * from t2 where p NOT IN (select p from t1) order by p;
# Use unique index # Use unique index
--replace_column 9 #
explain select * from t2 where p NOT IN (select u from t1); 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; select * from t2 where p NOT IN (select u from t1) order by p;
# Use ordered index # Use ordered index
--replace_column 9 #
explain select * from t2 where p NOT IN (select o from t1); 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; select * from t2 where p NOT IN (select o from t1) order by p;
# Use scan # Use scan
--replace_column 9 #
explain select * from t2 where p NOT IN (select p+0 from t1); 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; select * from t2 where p NOT IN (select p+0 from t1) order by p;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment