1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Merge branch '10.2' into 10.3

This commit is contained in:
Oleksandr Byelkin
2019-07-26 22:42:35 +02:00
124 changed files with 3604 additions and 155 deletions

View File

@ -1209,6 +1209,410 @@ CALL p1;
DROP PROCEDURE p1;
DROP TABLE t1,t2,t3,t4,t5;
--echo #
--echo # MDEV-19421: Embedding inner joins
--echo #
create table t1 (a int);
insert into t1 values (7), (5), (3);
create table s1 (b int);
insert into s1 values (7), (5), (3);
create table t2 (a int);
insert into t2 values (5), (1), (7);
create table s2 (b int);
insert into s2 values (5), (1), (7);
create table t3 (a int);
insert into t3 values (2), (7), (3);
create table t4 (a int);
insert into t4 values (4), (7), (9), (5);
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3 on t2.a=t3.a on t1.a=t2.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 left join t3 on t2.a=t3.a on t1.a=t2.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 right join t3 on t2.a=t3.a on t1.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3 using(a) using(a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 left join t3 using(a) using(a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 right join t3 using(a) using(a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3 on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 left join t3 on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 right join t3 on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3 on t1.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 left join t3 on t1.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 right join t3 on t1.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join (t2 join t3 on t2.a=t3.a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join (t2 left join t3 on t2.a=t3.a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join (t2 right join t3 on t2.a=t3.a);
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 left join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 right join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b, t2.a as t2_a, t3.a as t3_a
from s1 join t2 join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b, t2.a as t2_a, t3.a as t3_a
from s1 join t2 left join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b, t2.a as t2_a, t3.a as t3_a
from s1 join t2 right join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b, t2.a as t2_a, t3.a as t3_a
from (s1 join t2) right join t3 using(a);
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 natural join t3;
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 natural left join t3;
eval explain extended $q;
eval $q;
let $q=
select *
from s1 join t2 natural right join t3;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from t1 join t2 join t3
where t1.a=t2.a and t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 join t3 join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 left join t3 join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 left join t3 left join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 left join t3 right join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 right join t3 join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 right join t3 left join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 join t3 join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 join t3 left join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 join t3 right join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a
from s1 join s2 join t3 join t4 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a
from s1 join s2 join t3 left join t4 using(a);
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a
from s1 join s2 join t3 right join t4 using(a);
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 join t3 on t2.a=t3.a join t4;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 left join t3 on t2.a=t3.a join t4;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 right join t3 on t2.a=t3.a join t4;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t2 join t3 using(a) join t4;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t2 left join t3 using(a) join t4;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t2 right join t3 using(a) join t4;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 left join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 left join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 left join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 right join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 right join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 right join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t1 left join t2 on s1.b=t2.a join t3 join t4 on t4.a=s1.b;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t1 left join t2 on s1.b=t2.a join t3 left join t4 on t4.a=s1.b;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from s1 join t1 left join t2 on s1.b=t2.a join t3 right join t4 on t4.a=s1.b;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from s1 join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from s1 left join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3;
eval explain extended $q;
eval $q;
let $q=
select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a
from s1 right join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from (t1 join t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
let $q=
select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a
from (t1, t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a;
eval explain extended $q;
eval $q;
drop table t1,t2,t3,t4,s1,s2;
--echo #
--echo # End of MariaDB 5.5 tests
--echo #