From c77573716a58af32ffcfc4fe87ff9e5c97909bd2 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 27 Sep 2024 22:26:35 +0200 Subject: Fixed #35803 -- Added support for Collect, GeoHash, and IsValid on MariaDB 11.7+. --- django/contrib/gis/db/backends/mysql/operations.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'django') diff --git a/django/contrib/gis/db/backends/mysql/operations.py b/django/contrib/gis/db/backends/mysql/operations.py index f4533a3b4e..e9aec1e96c 100644 --- a/django/contrib/gis/db/backends/mysql/operations.py +++ b/django/contrib/gis/db/backends/mysql/operations.py @@ -71,7 +71,10 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations): models.Union, ] is_mariadb = self.connection.mysql_is_mariadb - if is_mariadb or self.connection.mysql_version < (8, 0, 24): + if is_mariadb: + if self.connection.mysql_version < (11, 7): + disallowed_aggregates.insert(0, models.Collect) + elif self.connection.mysql_version < (8, 0, 24): disallowed_aggregates.insert(0, models.Collect) return tuple(disallowed_aggregates) @@ -105,7 +108,8 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations): } if self.connection.mysql_is_mariadb: unsupported.remove("PointOnSurface") - unsupported.update({"GeoHash", "IsValid"}) + if self.connection.mysql_version < (11, 7): + unsupported.update({"GeoHash", "IsValid"}) return unsupported def geo_db_type(self, f): -- cgit v1.3