remove LEFT as default for non-inner-joins

This commit is contained in:
freemine 2024-12-30 19:30:43 +08:00
parent 69826e9569
commit 4acf170690
1 changed files with 11 additions and 3 deletions

View File

@ -1482,7 +1482,7 @@ inner_joined(A) ::=
/************************************************ outer join **********************************************************/
outer_joined(A) ::=
table_reference(B) OUTER JOIN table_reference(E) join_on_clause_opt(F)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_LEFT, JOIN_STYPE_OUTER, A, B, E, F, G, H); }
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_NONE, JOIN_STYPE_OUTER, A, B, E, F, G, H); }
outer_joined(A) ::=
table_reference(B) LEFT OUTER JOIN table_reference(E) join_on_clause_opt(F)
@ -1499,7 +1499,7 @@ outer_joined(A) ::=
/************************************************ semi join ***********************************************************/
semi_joined(A) ::=
table_reference(B) SEMI JOIN table_reference(E) join_on_clause_opt(F)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_LEFT, JOIN_STYPE_SEMI, A, B, E, F, G, H); }
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_NONE, JOIN_STYPE_SEMI, A, B, E, F, G, H); }
semi_joined(A) ::=
table_reference(B) LEFT SEMI JOIN table_reference(E) join_on_clause_opt(F)
@ -1512,7 +1512,7 @@ semi_joined(A) ::=
/************************************************ ansi join ***********************************************************/
anti_joined(A) ::=
table_reference(B) ANTI JOIN table_reference(E) join_on_clause_opt(F)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_LEFT, JOIN_STYPE_ANTI, A, B, E, F, G, H); }
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_NONE, JOIN_STYPE_ANTI, A, B, E, F, G, H); }
anti_joined(A) ::=
table_reference(B) LEFT ANTI JOIN table_reference(E) join_on_clause_opt(F)
@ -1523,6 +1523,10 @@ anti_joined(A) ::=
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, 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)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_NONE, JOIN_STYPE_ASOF, A, B, E, F, G, H); }
asof_joined(A) ::=
table_reference(B) LEFT ASOF JOIN table_reference(E) join_on_clause_opt(F)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_LEFT, JOIN_STYPE_ASOF, A, B, E, F, G, H); }
@ -1532,6 +1536,10 @@ asof_joined(A) ::=
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_RIGHT, 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)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_NONE, JOIN_STYPE_WIN, A, B, E, F, G, H); }
win_joined(A) ::=
table_reference(B) LEFT WINDOW JOIN table_reference(E) join_on_clause_opt(F)
window_offset_clause_opt(G) jlimit_clause_opt(H). { JOINED_TABLE_MK(JOIN_TYPE_LEFT, JOIN_STYPE_WIN, A, B, E, F, G, H); }