Add order by multi_outer_join

pull/2659/head
Onder Kalaci 2019-04-09 12:53:57 +03:00
parent 298e95c441
commit 58e90ad60d
2 changed files with 16 additions and 8 deletions

View File

@ -292,7 +292,8 @@ SELECT
FROM FROM
multi_outer_join_left l1 multi_outer_join_left l1
LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey) LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey); LEFT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey)
ORDER BY l_custkey, r_custkey, t_custkey;
-- Right join with single shard right most table should error out -- Right join with single shard right most table should error out
SELECT SELECT
@ -300,7 +301,8 @@ SELECT
FROM FROM
multi_outer_join_left l1 multi_outer_join_left l1
LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey) LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey)
RIGHT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey); RIGHT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey)
ORDER BY l_custkey, r_custkey, t_custkey;
-- Right join with single shard left most table should work -- Right join with single shard left most table should work
SELECT SELECT
@ -308,7 +310,8 @@ SELECT
FROM FROM
multi_outer_join_third_reference t1 multi_outer_join_third_reference t1
RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey) RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey); LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey)
ORDER BY t_custkey, r_custkey, l_custkey;
-- Make it anti-join, should display values with l_custkey is null -- Make it anti-join, should display values with l_custkey is null
SELECT SELECT
@ -318,7 +321,8 @@ FROM
RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey) RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey) LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey)
WHERE WHERE
l_custkey is NULL; l_custkey is NULL
ORDER BY t_custkey, r_custkey, l_custkey;
-- Cascading right join with single shard left most table -- Cascading right join with single shard left most table
SELECT SELECT

View File

@ -379,7 +379,8 @@ SELECT
FROM FROM
multi_outer_join_left l1 multi_outer_join_left l1
LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey) LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey); LEFT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey)
ORDER BY l_custkey, r_custkey, t_custkey;
l_custkey | r_custkey | t_custkey l_custkey | r_custkey | t_custkey
-----------+-----------+----------- -----------+-----------+-----------
11 | 11 | 11 11 | 11 | 11
@ -407,7 +408,8 @@ SELECT
FROM FROM
multi_outer_join_left l1 multi_outer_join_left l1
LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey) LEFT JOIN multi_outer_join_right r1 ON (l1.l_custkey = r1.r_custkey)
RIGHT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey); RIGHT JOIN multi_outer_join_third_reference t1 ON (r1.r_custkey = t1.t_custkey)
ORDER BY l_custkey, r_custkey, t_custkey;
ERROR: cannot pushdown the subquery ERROR: cannot pushdown the subquery
DETAIL: There exist a reference table in the outer part of the outer join DETAIL: There exist a reference table in the outer part of the outer join
-- Right join with single shard left most table should work -- Right join with single shard left most table should work
@ -416,7 +418,8 @@ SELECT
FROM FROM
multi_outer_join_third_reference t1 multi_outer_join_third_reference t1
RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey) RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey); LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey)
ORDER BY t_custkey, r_custkey, l_custkey;
t_custkey | r_custkey | l_custkey t_custkey | r_custkey | l_custkey
-----------+-----------+----------- -----------+-----------+-----------
11 | 11 | 11 11 | 11 | 11
@ -446,7 +449,8 @@ FROM
RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey) RIGHT JOIN multi_outer_join_right r1 ON (t1.t_custkey = r1.r_custkey)
LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey) LEFT JOIN multi_outer_join_left l1 ON (r1.r_custkey = l1.l_custkey)
WHERE WHERE
l_custkey is NULL; l_custkey is NULL
ORDER BY t_custkey, r_custkey, l_custkey;
t_custkey | r_custkey | l_custkey t_custkey | r_custkey | l_custkey
-----------+-----------+----------- -----------+-----------+-----------
13 | 13 | 13 | 13 |