summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-02-08 10:14:36 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2012-02-08 10:14:36 -0500
commitd1414ad20524c421aa78272c03dce5f839a0aab6 (patch)
tree3e1ce8014fe934a5cab201073076ca8b302623b8 /lib/sqlalchemy/sql
parentf39c43083a612fdb77dbb3eb2c297cde9662fe81 (diff)
downloadsqlalchemy-d1414ad20524c421aa78272c03dce5f839a0aab6.tar.gz
simplify remote annotation significantly, and also
catch the actual remote columns more accurately.
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r--lib/sqlalchemy/sql/expression.py4
-rw-r--r--lib/sqlalchemy/sql/operators.py5
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index 30e19bc68..72099a5f5 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -3385,6 +3385,10 @@ class _BinaryExpression(ColumnElement):
raise TypeError("Boolean value of this clause is not defined")
@property
+ def is_comparison(self):
+ return operators.is_comparison(self.operator)
+
+ @property
def _from_objects(self):
return self.left._from_objects + self.right._from_objects
diff --git a/lib/sqlalchemy/sql/operators.py b/lib/sqlalchemy/sql/operators.py
index 89f0aaee1..b86b50db4 100644
--- a/lib/sqlalchemy/sql/operators.py
+++ b/lib/sqlalchemy/sql/operators.py
@@ -521,6 +521,11 @@ def nullslast_op(a):
_commutative = set([eq, ne, add, mul])
+_comparison = set([eq, ne, lt, gt, ge, le])
+
+def is_comparison(op):
+ return op in _comparison
+
def is_commutative(op):
return op in _commutative