summaryrefslogtreecommitdiff
path: root/sqlparse/engine
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2019-05-16 07:56:57 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2019-05-16 07:56:57 +0200
commit7168e5ce67119d0c171be7dac36bd7d21f762589 (patch)
tree2d96e5d6e7118c0c66099d2c2b61b2574d56702f /sqlparse/engine
parent93262c895b955ff50a1bc13536de3024d3eede50 (diff)
downloadsqlparse-7168e5ce67119d0c171be7dac36bd7d21f762589.tar.gz
Add support for time zone casts (fixes #489).
Diffstat (limited to 'sqlparse/engine')
-rw-r--r--sqlparse/engine/grouping.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/sqlparse/engine/grouping.py b/sqlparse/engine/grouping.py
index afc9123..ab97ec6 100644
--- a/sqlparse/engine/grouping.py
+++ b/sqlparse/engine/grouping.py
@@ -88,6 +88,19 @@ def group_typecasts(tlist):
_group(tlist, sql.Identifier, match, valid_prev, valid_next, post)
+def group_tzcasts(tlist):
+ def match(token):
+ return token.ttype == T.Keyword.TZCast
+
+ def valid(token):
+ return token is not None
+
+ def post(tlist, pidx, tidx, nidx):
+ return pidx, nidx
+
+ _group(tlist, sql.Identifier, match, valid, valid, post)
+
+
def group_period(tlist):
def match(token):
return token.match(T.Punctuation, '.')
@@ -358,6 +371,7 @@ def group(stmt):
group_identifier,
group_order,
group_typecasts,
+ group_tzcasts,
group_operator,
group_comparison,
group_as,