Skip to content

Commit daf207c

Browse files
author
quest
committed
VALUES was incorrectly treated as a function
1 parent a16c087 commit daf207c

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

‎sqlparse/lexer.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ class Lexer(object):
179179
(r'\$([a-zA-Z_][a-zA-Z0-9_]*)?\$', tokens.Name.Builtin),
180180
(r'\?{1}', tokens.Name.Placeholder),
181181
(r'[$:?%][a-zA-Z0-9_]+', tokens.Name.Placeholder),
182+
(r'VALUES', tokens.Keyword),
182183
(r'@[a-zA-Z_][a-zA-Z0-9_]+', tokens.Name),
183184
(r'[a-zA-Z_][a-zA-Z0-9_]*(?=[.(])', tokens.Name), # see issue39
184185
(r'[-]?0x[0-9a-fA-F]+', tokens.Number.Hexadecimal),

‎tests/test_grouping.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ def test_identifiers(self):
5353
self.ndiffAssertEqual(s, unicode(parsed))
5454
self.assert_(isinstance(parsed.tokens[-1].tokens[3], sql.Identifier))
5555

56+
s = "INSERT INTO `test` VALUES('foo', 'bar');"
57+
parsed = sqlparse.parse(s)[0]
58+
types = [l.ttype for l in parsed.tokens if not l.is_whitespace()]
59+
self.assertEquals(types, [T.DML, T.Keyword, None,
60+
T.Keyword, None, T.Punctuation])
61+
5662
def test_identifier_wildcard(self):
5763
p = sqlparse.parse('a.*, b.id')[0]
5864
self.assert_(isinstance(p.tokens[0], sql.IdentifierList))

0 commit comments

Comments
 (0)