Commit a7270dc5 authored by Igor Babaev's avatar Igor Babaev

Merge

parents 7e58b285 1e2ff5ba
...@@ -1423,11 +1423,9 @@ insert into t1 values (1000, 1), (1001, 1); ...@@ -1423,11 +1423,9 @@ insert into t1 values (1000, 1), (1001, 1);
insert into t2 values (2000, 2), (2001, 2); insert into t2 values (2000, 2), (2001, 2);
insert into t3 values (3000, 3), (3001, 2); insert into t3 values (3000, 3), (3001, 2);
insert into t4 values (4000), (4001); insert into t4 values (4000), (4001);
set @save_optimizer_switch=@@optimizer_switch;
set @@optimizer_switch='table_elimination=off';
explain extended explain extended
select t2.pk, select t2.pk,
(select t3.pk (select t3.pk+if(isnull(t4.pk),0,t4.pk)
from t3 left join t4 on t4.pk=t3.pk from t3 left join t4 on t4.pk=t3.pk
where t3.pk=t2.pk+1000 limit 1 ) as t where t3.pk=t2.pk+1000 limit 1 ) as t
from t1,t2 from t1,t2
...@@ -1440,9 +1438,9 @@ id select_type table type possible_keys key key_len ref rows filtered Extra ...@@ -1440,9 +1438,9 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
2 DEPENDENT SUBQUERY t4 eq_ref PRIMARY PRIMARY 4 test.t3.pk 1 100.00 Using where; Using index 2 DEPENDENT SUBQUERY t4 eq_ref PRIMARY PRIMARY 4 test.t3.pk 1 100.00 Using where; Using index
Warnings: Warnings:
Note 1276 Field or reference 'test.t2.pk' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t2.pk' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`pk` AS `pk`,(select `test`.`t3`.`pk` from `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`pk` = `test`.`t3`.`pk`)) where (`test`.`t3`.`pk` = (`test`.`t2`.`pk` + 1000)) limit 1) AS `t` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`pk` = (`test`.`t1`.`pk` + 1000)) and (`test`.`t1`.`pk` > 1000)) group by `test`.`t2`.`pk` Note 1003 select `test`.`t2`.`pk` AS `pk`,(select (`test`.`t3`.`pk` + if(isnull(`test`.`t4`.`pk`),0,`test`.`t4`.`pk`)) from `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`pk` = `test`.`t3`.`pk`)) where (`test`.`t3`.`pk` = (`test`.`t2`.`pk` + 1000)) limit 1) AS `t` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`pk` = (`test`.`t1`.`pk` + 1000)) and (`test`.`t1`.`pk` > 1000)) group by `test`.`t2`.`pk`
select t2.pk, select t2.pk,
(select t3.pk (select t3.pk+if(isnull(t4.pk),0,t4.pk)
from t3 left join t4 on t4.pk=t3.pk from t3 left join t4 on t4.pk=t3.pk
where t3.pk=t2.pk+1000 limit 1 ) as t where t3.pk=t2.pk+1000 limit 1 ) as t
from t1,t2 from t1,t2
...@@ -1450,6 +1448,5 @@ where t2.pk=t1.pk+1000 and t1.pk>1000 ...@@ -1450,6 +1448,5 @@ where t2.pk=t1.pk+1000 and t1.pk>1000
group by t2.pk; group by t2.pk;
pk t pk t
2001 3001 2001 3001
set @@optimizer_switch=@save_optimizer_switch;
drop table t1,t2,t3,t4; drop table t1,t2,t3,t4;
End of 5.1 tests End of 5.1 tests
...@@ -1010,12 +1010,9 @@ insert into t2 values (2000, 2), (2001, 2); ...@@ -1010,12 +1010,9 @@ insert into t2 values (2000, 2), (2001, 2);
insert into t3 values (3000, 3), (3001, 2); insert into t3 values (3000, 3), (3001, 2);
insert into t4 values (4000), (4001); insert into t4 values (4000), (4001);
set @save_optimizer_switch=@@optimizer_switch;
set @@optimizer_switch='table_elimination=off';
explain extended explain extended
select t2.pk, select t2.pk,
(select t3.pk (select t3.pk+if(isnull(t4.pk),0,t4.pk)
from t3 left join t4 on t4.pk=t3.pk from t3 left join t4 on t4.pk=t3.pk
where t3.pk=t2.pk+1000 limit 1 ) as t where t3.pk=t2.pk+1000 limit 1 ) as t
from t1,t2 from t1,t2
...@@ -1023,15 +1020,13 @@ select t2.pk, ...@@ -1023,15 +1020,13 @@ select t2.pk,
group by t2.pk; group by t2.pk;
select t2.pk, select t2.pk,
(select t3.pk (select t3.pk+if(isnull(t4.pk),0,t4.pk)
from t3 left join t4 on t4.pk=t3.pk from t3 left join t4 on t4.pk=t3.pk
where t3.pk=t2.pk+1000 limit 1 ) as t where t3.pk=t2.pk+1000 limit 1 ) as t
from t1,t2 from t1,t2
where t2.pk=t1.pk+1000 and t1.pk>1000 where t2.pk=t1.pk+1000 and t1.pk>1000
group by t2.pk; group by t2.pk;
set @@optimizer_switch=@save_optimizer_switch;
drop table t1,t2,t3,t4; drop table t1,t2,t3,t4;
--echo End of 5.1 tests --echo End of 5.1 tests
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