diff --git a/src/parser/bison_parser.y b/src/parser/bison_parser.y index e98a4ef..08ebaf9 100644 --- a/src/parser/bison_parser.y +++ b/src/parser/bison_parser.y @@ -815,11 +815,15 @@ join_clause: ; opt_join_type: - INNER { $$ = kJoinInner; } - | OUTER { $$ = kJoinOuter; } - | LEFT { $$ = kJoinLeft; } - | RIGHT { $$ = kJoinRight; } - | /* empty, default */ { $$ = kJoinInner; } + INNER { $$ = kJoinInner; } + | OUTER { $$ = kJoinOuter; } + | LEFT OUTER { $$ = kJoinLeftOuter; } + | RIGHT OUTER { $$ = kJoinRightOuter; } + | LEFT { $$ = kJoinLeft; } + | RIGHT { $$ = kJoinRight; } + | CROSS { $$ = kJoinCross; } + | NATURAL { $$ = kJoinNatural; } + | /* empty, default */ { $$ = kJoinInner; } ; diff --git a/src/sql/Table.h b/src/sql/Table.h index 83e1cb1..58ecca4 100644 --- a/src/sql/Table.h +++ b/src/sql/Table.h @@ -47,6 +47,10 @@ namespace hsql { kJoinOuter, kJoinLeft, kJoinRight, + kJoinLeftOuter, + kJoinRightOuter, + kJoinCross, + kJoinNatural }; // Definition of a join construct.