summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2017-02-13 13:44:59 +0100
committerGitHub <noreply@github.com>2017-02-13 13:44:59 +0100
commitdf3d158e34821e6f1a17bcced8d5374ffb0b347d (patch)
treea89e6ee8c01ae53fa0a1ce8197d5f1f9561f5b4e
parenta8bd161e8713f9a09ffb91b3b9893eeb98b378ce (diff)
parentda54c39e30f62f69718e448e003591ce2233ca77 (diff)
downloadsqlparse-df3d158e34821e6f1a17bcced8d5374ffb0b347d.tar.gz
Merge pull request #323 from rowanseymour/concurrently_keyword
CONCURRENTLY should be handled as a keyword
-rw-r--r--sqlparse/keywords.py1
-rw-r--r--tests/test_regressions.py13
2 files changed, 14 insertions, 0 deletions
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..cc553c2 100644
--- a/tests/test_regressions.py
+++ b/tests/test_regressions.py
@@ -343,3 +343,16 @@ def test_issue315_utf8_by_default():
if PY2:
tformatted = tformatted.decode('utf-8')
assert formatted == tformatted
+
+
+def test_issue322_concurrently_is_keyword():
+ 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
+ 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'