From 3d3df9dcfb68dc3680daa81ac0f747bb3703ad57 Mon Sep 17 00:00:00 2001 From: Erik Cederstrand Date: Tue, 16 Aug 2022 13:49:36 +0200 Subject: Make tzcast grouping function less eager --- sqlparse/engine/grouping.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sqlparse') diff --git a/sqlparse/engine/grouping.py b/sqlparse/engine/grouping.py index 175ae8e..2fb0a4c 100644 --- a/sqlparse/engine/grouping.py +++ b/sqlparse/engine/grouping.py @@ -91,13 +91,20 @@ def group_tzcasts(tlist): def match(token): return token.ttype == T.Keyword.TZCast - def valid(token): + def valid_prev(token): return token is not None + def valid_next(token): + return token is not None and ( + token.is_whitespace + or token.match(T.Keyword, 'AS') + or token.match(*sql.TypedLiteral.M_CLOSE) + ) + def post(tlist, pidx, tidx, nidx): return pidx, nidx - _group(tlist, sql.Identifier, match, valid, valid, post) + _group(tlist, sql.Identifier, match, valid_prev, valid_next, post) def group_typed_literal(tlist): -- cgit v1.2.1