DBZ-6724 Modify JOIN clause to support unstructured joins

This commit is contained in:
ani-sha 2023-08-17 17:47:13 +05:30 committed by Jiri Pechanec
parent 445669b990
commit ffda5916aa
2 changed files with 10 additions and 11 deletions

View File

@ -1094,20 +1094,17 @@ indexHintType
;
joinPart
: (INNER | CROSS)? JOIN LATERAL? tableSourceItem
(
ON expression
| USING '(' uidList ')'
)? #innerJoin
| STRAIGHT_JOIN tableSourceItem (ON expression)? #straightJoin
| (LEFT | RIGHT) OUTER? JOIN LATERAL? tableSourceItem
(
ON expression
| USING '(' uidList ')'
) #outerJoin
: (INNER | CROSS)? JOIN LATERAL? tableSourceItem joinSpec* #innerJoin
| STRAIGHT_JOIN tableSourceItem (ON expression)* #straightJoin
| (LEFT | RIGHT) OUTER? JOIN LATERAL? tableSourceItem joinSpec* #outerJoin
| NATURAL ((LEFT | RIGHT) OUTER?)? JOIN tableSourceItem #naturalJoin
;
joinSpec
: (ON expression)
| USING '(' uidList ')'
;
// Select Statement's Details
queryExpression

View File

@ -115,6 +115,8 @@ order by ship_power.ship_name;
select * from t1 inner join (t1 as tt1, t2 as tt2) on t1.col1 = tt1.col1;
select * from (t1 as tt1, t2 as tt2) inner join t1 on t1.col1 = tt1.col1;
select * from t1 as tt1, t2 as tt2 inner join t1 on true;
SELECT * FROM test_table_1 t1 LEFT JOIN test_table_2 t2 JOIN test_table_3 t3 ON t3.id=t2.id ON t1.id=t2.id;
SELECT * FROM TABLE1 T1 STRAIGHT_JOIN TABLE2 T2 STRAIGHT_JOIN TABLE3 T3 ON T3.ID=T2.ID ON T1.ID=T2.ID;
#end
#begin
-- where_condition test