diff options
| author | Derek Harland <derek.harland@finq.co.nz> | 2012-12-04 14:24:59 +1300 |
|---|---|---|
| committer | Derek Harland <derek.harland@finq.co.nz> | 2012-12-04 14:24:59 +1300 |
| commit | a10b60bbb9986ea9db8ac235de932c087b94fda1 (patch) | |
| tree | 41a222efc3404a1899a54196e2292f6fcb56d3ef /lib/sqlalchemy/sql/expression.py | |
| parent | ab7103b7b5d8d7f3f1b21970f368c8c60eca595b (diff) | |
| parent | 850fb33094549849d48f5f181793aa9474c14e2d (diff) | |
| download | sqlalchemy-a10b60bbb9986ea9db8ac235de932c087b94fda1.tar.gz | |
Merge changes from official sqlalchemy repo
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
| -rw-r--r-- | lib/sqlalchemy/sql/expression.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 3dc8dfea4..aa912a0f6 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -3723,6 +3723,7 @@ class BinaryExpression(ColumnElement): # refer to BinaryExpression directly and pass strings if isinstance(operator, basestring): operator = operators.custom_op(operator) + self._orig = (left, right) self.left = _literal_as_text(left).self_group(against=operator) self.right = _literal_as_text(right).self_group(against=operator) self.operator = operator @@ -3735,9 +3736,9 @@ class BinaryExpression(ColumnElement): self.modifiers = modifiers def __nonzero__(self): - try: - return self.operator(hash(self.left), hash(self.right)) - except: + if self.operator in (operator.eq, operator.ne): + return self.operator(hash(self._orig[0]), hash(self._orig[1])) + else: raise TypeError("Boolean value of this clause is not defined") @property |
