Skip to content

Commit 5e3db35

Browse files
author
Dan Ungureanu
committed
Added support for OUTER as an optional keyword in joins.
1 parent 6b860d2 commit 5e3db35

8 files changed

+22
-10
lines changed

src/Components/JoinKeyword.php

+2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ class JoinKeyword extends Component
3535
'INNER JOIN' => 'INNER',
3636
'JOIN' => 'JOIN',
3737
'LEFT JOIN' => 'LEFT',
38+
'LEFT OUTER JOIN' => 'LEFT',
3839
'RIGHT JOIN' => 'RIGHT',
40+
'RIGHT OUTER JOIN' => 'RIGHT',
3941
);
4042

4143
/**

src/Contexts/ContextMySql50000.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ class ContextMySql50000 extends Context
155155
'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7,
156156
'DATA DIRECTORY' => 7,
157157
'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'INDEX DIRECTORY' => 7,
158-
'SUBPARTITION BY' => 7,
159-
'GENERATED ALWAYS' => 7,
158+
'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
159+
'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
160160
'START TRANSACTION' => 7,
161161
'SELECT TRANSACTION' => 7,
162162
'DEFAULT CHARACTER SET' => 7,

src/Contexts/ContextMySql50100.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ class ContextMySql50100 extends Context
168168
'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7,
169169
'DATA DIRECTORY' => 7,
170170
'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'INDEX DIRECTORY' => 7,
171-
'SUBPARTITION BY' => 7,
172-
'GENERATED ALWAYS' => 7,
171+
'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
172+
'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
173173
'START TRANSACTION' => 7,
174174
'SELECT TRANSACTION' => 7,
175175
'DEFAULT CHARACTER SET' => 7,

src/Contexts/ContextMySql50500.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,8 @@ class ContextMySql50500 extends Context
173173
'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7,
174174
'DATA DIRECTORY' => 7,
175175
'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'INDEX DIRECTORY' => 7,
176-
'SUBPARTITION BY' => 7,
177-
'GENERATED ALWAYS' => 7,
176+
'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
177+
'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
178178
'START TRANSACTION' => 7,
179179
'SELECT TRANSACTION' => 7,
180180
'DEFAULT CHARACTER SET' => 7,

src/Contexts/ContextMySql50600.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ class ContextMySql50600 extends Context
178178
'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7,
179179
'DATA DIRECTORY' => 7,
180180
'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'INDEX DIRECTORY' => 7,
181-
'SUBPARTITION BY' => 7,
182-
'GENERATED ALWAYS' => 7,
181+
'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
182+
'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
183183
'START TRANSACTION' => 7,
184184
'SELECT TRANSACTION' => 7,
185185
'DEFAULT CHARACTER SET' => 7,

src/Contexts/ContextMySql50700.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ class ContextMySql50700 extends Context
186186
'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7,
187187
'DATA DIRECTORY' => 7,
188188
'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'INDEX DIRECTORY' => 7,
189-
'SUBPARTITION BY' => 7,
190-
'GENERATED ALWAYS' => 7,
189+
'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
190+
'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
191191
'START TRANSACTION' => 7,
192192
'SELECT TRANSACTION' => 7,
193193
'DEFAULT CHARACTER SET' => 7,

src/Parser.php

+8
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,18 @@ class Parser
172172
'class' => 'SqlParser\\Components\\JoinKeyword',
173173
'field' => 'join',
174174
),
175+
'LEFT OUTER JOIN' => array(
176+
'class' => 'SqlParser\\Components\\JoinKeyword',
177+
'field' => 'join',
178+
),
175179
'RIGHT JOIN' => array(
176180
'class' => 'SqlParser\\Components\\JoinKeyword',
177181
'field' => 'join',
178182
),
183+
'RIGHT OUTER JOIN' => array(
184+
'class' => 'SqlParser\\Components\\JoinKeyword',
185+
'field' => 'join',
186+
),
179187
'INNER JOIN' => array(
180188
'class' => 'SqlParser\\Components\\JoinKeyword',
181189
'field' => 'join',

tools/contexts/_common.txt

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ INTERVAL (D)
3939
JSON (D)
4040
KEY (K)
4141
LEFT JOIN
42+
LEFT OUTER JOIN
4243
LESS THAN
4344
LINEAR HASH
4445
LINEAR KEY
@@ -62,6 +63,7 @@ PERSISTENT
6263
PRIMARY KEY (K)
6364
REAL (D)
6465
RIGHT JOIN
66+
RIGHT OUTER JOIN
6567
SELECT TRANSACTION
6668
SERIAL (D)
6769
SET (D)

0 commit comments

Comments
 (0)