From 7c37c7f9132028b5af9c02bcccc33bef1c33787a Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Thu, 9 Feb 2017 11:13:06 +0200 Subject: CONCURRENTLY should be handled as a keyword --- sqlparse/keywords.py | 1 + tests/test_regressions.py | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py index 1fd07c1..d68b4ae 100644 --- a/sqlparse/keywords.py +++ b/sqlparse/keywords.py @@ -167,6 +167,7 @@ KEYWORDS = { 'COMMIT': tokens.Keyword.DML, 'COMMITTED': tokens.Keyword, 'COMPLETION': tokens.Keyword, + 'CONCURRENTLY': tokens.Keyword, 'CONDITION_NUMBER': tokens.Keyword, 'CONNECT': tokens.Keyword, 'CONNECTION': tokens.Keyword, diff --git a/tests/test_regressions.py b/tests/test_regressions.py index cf88419..4e76229 100644 --- a/tests/test_regressions.py +++ b/tests/test_regressions.py @@ -343,3 +343,15 @@ def test_issue315_utf8_by_default(): if PY2: tformatted = tformatted.decode('utf-8') assert formatted == tformatted + + +def test_issue322_concurrently_is_keyword(): + p = sqlparse.parse('CREATE INDEX CONCURRENTLY myindex ON mytable(col1);')[0] + + assert len(p.tokens) == 12 + assert p.tokens[0].ttype is T.Keyword.DDL # CREATE + assert p.tokens[2].ttype is T.Keyword # INDEX + assert p.tokens[4].ttype is T.Keyword # CONCURRENTLY + assert p.tokens[4].value == 'CONCURRENTLY' + assert isinstance(p.tokens[6], sql.Identifier) + assert p.tokens[6].value == 'myindex' -- cgit v1.2.1 From da54c39e30f62f69718e448e003591ce2233ca77 Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Thu, 9 Feb 2017 11:33:01 +0200 Subject: Fix line length --- tests/test_regressions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_regressions.py b/tests/test_regressions.py index 4e76229..cc553c2 100644 --- a/tests/test_regressions.py +++ b/tests/test_regressions.py @@ -346,7 +346,8 @@ def test_issue315_utf8_by_default(): def test_issue322_concurrently_is_keyword(): - p = sqlparse.parse('CREATE INDEX CONCURRENTLY myindex ON mytable(col1);')[0] + s = 'CREATE INDEX CONCURRENTLY myindex ON mytable(col1);' + p = sqlparse.parse(s)[0] assert len(p.tokens) == 12 assert p.tokens[0].ttype is T.Keyword.DDL # CREATE -- cgit v1.2.1