Skip to content

Commit 6efac74

Browse files
committed
Merge pull request andialbrecht#112 from alexander-beedie/master
extended JOIN token recognition/lexing (eg: FULL OUTER JOIN, NATURAL JOIN)
2 parents 2aa7f0c + 8168e84 commit 6efac74

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

sqlparse/keywords.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,7 @@
550550
'ORDER': tokens.Keyword,
551551
'LEFT': tokens.Keyword,
552552
'OUTER': tokens.Keyword,
553+
'FULL': tokens.Keyword,
553554

554555
'IF': tokens.Keyword,
555556
'END': tokens.Keyword,

sqlparse/lexer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ class Lexer(object):
195195
# not a real string literal in ANSI SQL:
196196
(r'(""|".*?[^\\]")', tokens.String.Symbol),
197197
(r'(\[.*[^\]]\])', tokens.Name),
198-
(r'(LEFT\s+|RIGHT\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?JOIN\b', tokens.Keyword),
198+
(r'((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\b', tokens.Keyword),
199199
(r'END(\s+IF|\s+LOOP)?\b', tokens.Keyword),
200200
(r'NOT NULL\b', tokens.Keyword),
201201
(r'CREATE(\s+OR\s+REPLACE)?\b', tokens.Keyword.DDL),

0 commit comments

Comments
 (0)