From 177901816fbc6391531b80724b4fd806ba66361d Mon Sep 17 00:00:00 2001 From: Pedro Date: Tue, 7 Mar 2017 15:49:49 +0100 Subject: [PATCH] add more join types --- src/parser/bison_parser.y | 14 +++++++++----- src/sql/Table.h | 4 ++++ 2 files changed, 13 insertions(+), 5 deletions(-) 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.