summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2013-10-24 08:38:21 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2013-10-24 08:38:21 +0200
commitc08c750e799af5c17ccbebf9b34b95a38f8cfb55 (patch)
tree96597aa0afe0b0714b6dc9411613e8fa2de8bda0 /sqlparse
parente3d32fadd637b53863d8c43593c39707a777c897 (diff)
downloadsqlparse-c08c750e799af5c17ccbebf9b34b95a38f8cfb55.tar.gz
Improve grouping of expressions (targets #23).
Diffstat (limited to 'sqlparse')
-rw-r--r--sqlparse/engine/grouping.py2
-rw-r--r--sqlparse/sql.py8
2 files changed, 9 insertions, 1 deletions
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."""