diff options
| author | Andi Albrecht <albrecht.andi@googlemail.com> | 2012-04-23 00:28:28 -0700 |
|---|---|---|
| committer | Andi Albrecht <albrecht.andi@googlemail.com> | 2012-04-23 00:28:28 -0700 |
| commit | 843ec031286051c6a8a9f47ac1aa4e0eece1b50d (patch) | |
| tree | d1f7e58c1a1f95a108f40b74557da105a3a12a59 | |
| parent | 9b643b52bfd59b583094d08615c7bd698f98e576 (diff) | |
| parent | daf207cad41e1f04a16fd3d92ab41685b0fe4543 (diff) | |
| download | sqlparse-843ec031286051c6a8a9f47ac1aa4e0eece1b50d.tar.gz | |
Merge pull request #64 from bittrance/master
VALUES was incorrectly treated as a function
| -rw-r--r-- | sqlparse/lexer.py | 1 | ||||
| -rw-r--r-- | tests/test_grouping.py | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py index dc794ab..c10e136 100644 --- a/sqlparse/lexer.py +++ b/sqlparse/lexer.py @@ -179,6 +179,7 @@ class Lexer(object): (r'\$([a-zA-Z_][a-zA-Z0-9_]*)?\$', tokens.Name.Builtin), (r'\?{1}', tokens.Name.Placeholder), (r'[$:?%][a-zA-Z0-9_]+', tokens.Name.Placeholder), + (r'VALUES', tokens.Keyword), (r'@[a-zA-Z_][a-zA-Z0-9_]+', tokens.Name), (r'[a-zA-Z_][a-zA-Z0-9_]*(?=[.(])', tokens.Name), # see issue39 (r'[-]?0x[0-9a-fA-F]+', tokens.Number.Hexadecimal), diff --git a/tests/test_grouping.py b/tests/test_grouping.py index 8148d2f..8d84804 100644 --- a/tests/test_grouping.py +++ b/tests/test_grouping.py @@ -53,6 +53,12 @@ class TestGrouping(TestCaseBase): self.ndiffAssertEqual(s, unicode(parsed)) self.assert_(isinstance(parsed.tokens[-1].tokens[3], sql.Identifier)) + s = "INSERT INTO `test` VALUES('foo', 'bar');" + parsed = sqlparse.parse(s)[0] + types = [l.ttype for l in parsed.tokens if not l.is_whitespace()] + self.assertEquals(types, [T.DML, T.Keyword, None, + T.Keyword, None, T.Punctuation]) + def test_identifier_wildcard(self): p = sqlparse.parse('a.*, b.id')[0] self.assert_(isinstance(p.tokens[0], sql.IdentifierList)) |
