From c08c750e799af5c17ccbebf9b34b95a38f8cfb55 Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Thu, 24 Oct 2013 08:38:21 +0200 Subject: Improve grouping of expressions (targets #23). --- sqlparse/engine/grouping.py | 2 +- sqlparse/sql.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'sqlparse') diff --git a/sqlparse/engine/grouping.py b/sqlparse/engine/grouping.py index 3536a8b..47e77ac 100644 --- a/sqlparse/engine/grouping.py +++ b/sqlparse/engine/grouping.py @@ -125,7 +125,7 @@ def group_comparison(tlist): return (token.ttype in (T.String.Symbol, T.Name, T.Number, T.Number.Integer, T.Literal, T.Literal.Number.Integer) - or isinstance(token, (sql.Identifier,)) + or isinstance(token, (sql.Identifier, sql.Parenthesis)) or (token.ttype is T.Keyword and token.value.upper() in ['NULL', ])) _group_left_right(tlist, T.Operator.Comparison, None, sql.Comparison, diff --git a/sqlparse/sql.py b/sqlparse/sql.py index 3f1e98b..9567aa5 100644 --- a/sqlparse/sql.py +++ b/sqlparse/sql.py @@ -546,6 +546,14 @@ class Comparison(TokenList): """A comparison used for example in WHERE clauses.""" __slots__ = ('value', 'ttype', 'tokens') + @property + def left(self): + return self.tokens[0] + + @property + def right(self): + return self.tokens[-1] + class Comment(TokenList): """A comment.""" -- cgit v1.2.1