File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed
Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ def is_keyword(value):
4747 # see https://github.com/andialbrecht/sqlparse/pull/64
4848 # IN is special, it may be followed by a parenthesis, but
4949 # is never a function, see issue183
50- (r'(CASE|IN|VALUES|USING)\b' , tokens .Keyword ),
50+ (r'(CASE|IN|VALUES|USING|FROM )\b' , tokens .Keyword ),
5151
5252 (r'(@|##|#)[A-ZÀ-Ü]\w+' , tokens .Name ),
5353
Original file line number Diff line number Diff line change @@ -435,6 +435,24 @@ def test_get_real_name():
435435 assert 't' == stmts [0 ].get_alias ()
436436
437437
438+ def test_from_subquery ():
439+ # issue 446
440+ s = u'from(select 1)'
441+ stmts = sqlparse .parse (s )
442+ assert len (stmts ) == 1
443+ assert len (stmts [0 ].tokens ) == 2
444+ assert stmts [0 ].tokens [0 ].value == 'from'
445+ assert stmts [0 ].tokens [0 ].ttype == T .Keyword
446+
447+ s = u'from (select 1)'
448+ stmts = sqlparse .parse (s )
449+ assert len (stmts ) == 1
450+ assert len (stmts [0 ].tokens ) == 3
451+ assert stmts [0 ].tokens [0 ].value == 'from'
452+ assert stmts [0 ].tokens [0 ].ttype == T .Keyword
453+ assert stmts [0 ].tokens [1 ].ttype == T .Whitespace
454+
455+
438456def test_parenthesis ():
439457 tokens = sqlparse .parse ("(\n \n 1\n \n )" )[0 ].tokens [0 ].tokens
440458 assert list (map (lambda t : t .ttype , tokens )) == [T .Punctuation ,
You can’t perform that action at this time.
0 commit comments