From 925b117e0c91cdd67d9ddbd9d65f5ca3e88af91f Mon Sep 17 00:00:00 2001 From: Jim Bosch Date: Sun, 26 Jul 2020 14:54:52 -0400 Subject: [PATCH] Use is_comparison to fix types of PostgreSQL range operators. Fixes #5476. --- lib/sqlalchemy/dialects/postgresql/ranges.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/sqlalchemy/dialects/postgresql/ranges.py b/lib/sqlalchemy/dialects/postgresql/ranges.py index d4f75b4948..a31d958ed9 100644 --- a/lib/sqlalchemy/dialects/postgresql/ranges.py +++ b/lib/sqlalchemy/dialects/postgresql/ranges.py @@ -36,32 +36,32 @@ class RangeOperators(object): other ) else: - return self.expr.op("<>")(other) + return self.expr.op("<>", is_comparison=True)(other) def contains(self, other, **kw): """Boolean expression. Returns true if the right hand operand, which can be an element or a range, is contained within the column. """ - return self.expr.op("@>")(other) + return self.expr.op("@>", is_comparison=True)(other) def contained_by(self, other): """Boolean expression. Returns true if the column is contained within the right hand operand. """ - return self.expr.op("<@")(other) + return self.expr.op("<@", is_comparison=True)(other) def overlaps(self, other): """Boolean expression. Returns true if the column overlaps (has points in common with) the right hand operand. """ - return self.expr.op("&&")(other) + return self.expr.op("&&", is_comparison=True)(other) def strictly_left_of(self, other): """Boolean expression. Returns true if the column is strictly left of the right hand operand. """ - return self.expr.op("<<")(other) + return self.expr.op("<<", is_comparison=True)(other) __lshift__ = strictly_left_of @@ -69,7 +69,7 @@ class RangeOperators(object): """Boolean expression. Returns true if the column is strictly right of the right hand operand. """ - return self.expr.op(">>")(other) + return self.expr.op(">>", is_comparison=True)(other) __rshift__ = strictly_right_of @@ -77,19 +77,19 @@ class RangeOperators(object): """Boolean expression. Returns true if the range in the column does not extend right of the range in the operand. """ - return self.expr.op("&<")(other) + return self.expr.op("&<", is_comparison=True)(other) def not_extend_left_of(self, other): """Boolean expression. Returns true if the range in the column does not extend left of the range in the operand. """ - return self.expr.op("&>")(other) + return self.expr.op("&>", is_comparison=True)(other) def adjacent_to(self, other): """Boolean expression. Returns true if the range in the column is adjacent to the range in the operand. """ - return self.expr.op("-|-")(other) + return self.expr.op("-|-", is_comparison=True)(other) def __add__(self, other): """Range expression. Returns the union of the two ranges. -- 2.47.3