diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2018-07-09 15:47:14 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2018-07-09 21:48:39 -0400 |
commit | f7076ecf361f276f5ddb81f80931e5c88215e8ca (patch) | |
tree | f292ec5013c94defbaa4c05cc957cb751e28a412 /lib/sqlalchemy/sql/operators.py | |
parent | 9d743870722fc6757404674bd821382798a1ba43 (diff) | |
download | sqlalchemy-f7076ecf361f276f5ddb81f80931e5c88215e8ca.tar.gz |
support functions "as binary comparison"
Added new feature :meth:`.FunctionElement.as_comparison` which allows a SQL
function to act as a binary comparison operation that can work within the
ORM.
Change-Id: I07018e2065d09775c0406cabdd35fc38cc0da699
Fixes: #3831
Diffstat (limited to 'lib/sqlalchemy/sql/operators.py')
-rw-r--r-- | lib/sqlalchemy/sql/operators.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/operators.py b/lib/sqlalchemy/sql/operators.py index 11d195455..bda9a0c86 100644 --- a/lib/sqlalchemy/sql/operators.py +++ b/lib/sqlalchemy/sql/operators.py @@ -1079,6 +1079,10 @@ def from_(): raise NotImplementedError() +def function_as_comparison_op(): + raise NotImplementedError() + + def as_(): raise NotImplementedError() @@ -1260,7 +1264,8 @@ def json_path_getitem_op(a, b): _commutative = {eq, ne, add, mul} _comparison = {eq, ne, lt, gt, ge, le, between_op, like_op, is_, - isnot, is_distinct_from, isnot_distinct_from} + isnot, is_distinct_from, isnot_distinct_from, + function_as_comparison_op} def is_comparison(op): @@ -1314,6 +1319,7 @@ _largest = util.symbol('_largest', canonical=100) _PRECEDENCE = { from_: 15, + function_as_comparison_op: 15, any_op: 15, all_op: 15, getitem: 15, |