re-enable FULL <non-inner-join> at sql grammar level
This commit is contained in:
parent
12efc52af3
commit
26ba35c883
|
@ -1509,6 +1509,10 @@ semi_joined(A) ::=
|
|||
table_reference(B) RIGHT SEMI JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, JOIN_STYPE_SEMI, A, B, E, F, G, H); }
|
||||
|
||||
semi_joined(A) ::=
|
||||
table_reference(B) FULL SEMI JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_FULL, JOIN_STYPE_SEMI, A, B, E, F, G, H); }
|
||||
|
||||
/************************************************ ansi join ***********************************************************/
|
||||
anti_joined(A) ::=
|
||||
table_reference(B) ANTI JOIN table_reference(E) join_on_clause_opt(F)
|
||||
|
@ -1522,6 +1526,10 @@ anti_joined(A) ::=
|
|||
table_reference(B) RIGHT ANTI JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, JOIN_STYPE_ANTI, A, B, E, F, G, H); }
|
||||
|
||||
anti_joined(A) ::=
|
||||
table_reference(B) FULL ANTI JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_FULL, JOIN_STYPE_ANTI, A, B, E, F, G, H); }
|
||||
|
||||
/************************************************ asof join ***********************************************************/
|
||||
asof_joined(A) ::=
|
||||
table_reference(B) ASOF JOIN table_reference(E) join_on_clause_opt(F)
|
||||
|
@ -1535,6 +1543,10 @@ asof_joined(A) ::=
|
|||
table_reference(B) RIGHT ASOF JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, JOIN_STYPE_ASOF, A, B, E, F, G, H); }
|
||||
|
||||
asof_joined(A) ::=
|
||||
table_reference(B) FULL ASOF JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_FULL, JOIN_STYPE_ASOF, A, B, E, F, G, H); }
|
||||
|
||||
/************************************************ window join *********************************************************/
|
||||
win_joined(A) ::=
|
||||
table_reference(B) WINDOW JOIN table_reference(E) join_on_clause_opt(F)
|
||||
|
@ -1548,6 +1560,10 @@ win_joined(A) ::=
|
|||
table_reference(B) RIGHT WINDOW JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, JOIN_STYPE_WIN, A, B, E, F, G, H); }
|
||||
|
||||
win_joined(A) ::=
|
||||
table_reference(B) FULL WINDOW JOIN table_reference(E) join_on_clause_opt(F)
|
||||
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_FULL, JOIN_STYPE_WIN, A, B, E, F, G, H); }
|
||||
|
||||
join_on_clause_opt(A) ::= . [ON] { A = NULL; }
|
||||
join_on_clause_opt(A) ::= ON search_condition(B). { A = B; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue