summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2024-04-27 03:36:07 +0200
committerGitHub <noreply@github.com>2024-04-26 22:36:07 -0300
commit8c257cecffc314179a5375ab8a16ca0ff3b6fb16 (patch)
tree50af7d2d004406ba29ca682bdd4a627a442df78d
parent828b94b178736f7882cc6e5cd86b5c8e84b62ece (diff)
Refs #35339 -- Fixed source expressions in GeoAggregate on Oracle.
Regression in 42b567ab4c5bfb1bbd3e629b1079271c5ae44ea0.
-rw-r--r--django/contrib/gis/db/models/aggregates.py7
1 files changed, 2 insertions, 5 deletions
diff --git a/django/contrib/gis/db/models/aggregates.py b/django/contrib/gis/db/models/aggregates.py
index 7ba2e756e7..abff1a5206 100644
--- a/django/contrib/gis/db/models/aggregates.py
+++ b/django/contrib/gis/db/models/aggregates.py
@@ -34,17 +34,14 @@ class GeoAggregate(Aggregate):
tolerance = self.extra.get("tolerance") or getattr(self, "tolerance", 0.05)
clone = self.copy()
source_expressions = self.get_source_expressions()
- if self.filter:
- source_expressions.pop()
+ source_expressions.pop() # Don't wrap filters with SDOAGGRTYPE().
spatial_type_expr = Func(
*source_expressions,
Value(tolerance),
function="SDOAGGRTYPE",
output_field=self.output_field,
)
- source_expressions = [spatial_type_expr]
- if self.filter:
- source_expressions.append(self.filter)
+ source_expressions = [spatial_type_expr, self.filter]
clone.set_source_expressions(source_expressions)
return clone.as_sql(compiler, connection, **extra_context)
return self.as_sql(compiler, connection, **extra_context)