mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Reverted "Fixed #35803 -- Added support for Collect, GeoHash, and IsValid on MariaDB 11.7+."
This reverts commit c77573716a.
MariaDB reverted GIS functions.
			
			
This commit is contained in:
		
				
					committed by
					
						 Sarah Boyce
						Sarah Boyce
					
				
			
			
				
	
			
			
			
						parent
						
							d386405e04
						
					
				
				
					commit
					eb70aafdba
				
			| @@ -73,10 +73,7 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations): | ||||
|             models.Union, | ||||
|         ] | ||||
|         is_mariadb = self.connection.mysql_is_mariadb | ||||
|         if is_mariadb: | ||||
|             if self.connection.mysql_version < (11, 7): | ||||
|                 disallowed_aggregates.insert(0, models.Collect) | ||||
|         elif self.connection.mysql_version < (8, 0, 24): | ||||
|         if is_mariadb or self.connection.mysql_version < (8, 0, 24): | ||||
|             disallowed_aggregates.insert(0, models.Collect) | ||||
|         return tuple(disallowed_aggregates) | ||||
|  | ||||
| @@ -110,8 +107,7 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations): | ||||
|         } | ||||
|         if self.connection.mysql_is_mariadb: | ||||
|             unsupported.remove("PointOnSurface") | ||||
|             if self.connection.mysql_version < (11, 7): | ||||
|                 unsupported.update({"GeoHash", "IsValid"}) | ||||
|             unsupported.update({"GeoHash", "IsValid"}) | ||||
|         return unsupported | ||||
|  | ||||
|     def geo_db_type(self, f): | ||||
|   | ||||
| @@ -360,7 +360,7 @@ Lookup Type                        PostGIS    Oracle   MariaDB    MySQL [#]_   S | ||||
| :lookup:`exact <same_as>`          X          X        X          X            X          B | ||||
| :lookup:`intersects`               X          X        X          X            X          B | ||||
| :lookup:`isempty`                  X | ||||
| :lookup:`isvalid`                  X          X        X (≥ 11.7) X            X | ||||
| :lookup:`isvalid`                  X          X                   X            X | ||||
| :lookup:`overlaps`                 X          X        X          X            X          B | ||||
| :lookup:`relate`                   X          X        X                       X          C | ||||
| :lookup:`same_as`                  X          X        X          X            X          B | ||||
| @@ -406,11 +406,11 @@ Function                              PostGIS  Oracle         MariaDB      MySQL | ||||
| :class:`ForcePolygonCW`               X                                                X | ||||
| :class:`FromWKB`                      X        X              X            X           X | ||||
| :class:`FromWKT`                      X        X              X            X           X | ||||
| :class:`GeoHash`                      X                       X (≥ 11.7)   X           X (LWGEOM/RTTOPO) | ||||
| :class:`GeoHash`                      X                                    X           X (LWGEOM/RTTOPO) | ||||
| :class:`GeometryDistance`             X | ||||
| :class:`Intersection`                 X        X              X            X           X | ||||
| :class:`IsEmpty`                      X | ||||
| :class:`IsValid`                      X        X              X (≥ 11.7)   X           X | ||||
| :class:`IsValid`                      X        X                           X           X | ||||
| :class:`Length`                       X        X              X            X           X | ||||
| :class:`LineLocatePoint`              X                                                X | ||||
| :class:`MakeValid`                    X                                                X (LWGEOM/RTTOPO) | ||||
| @@ -432,19 +432,20 @@ Aggregate Functions | ||||
| ------------------- | ||||
|  | ||||
| The following table provides a summary of what GIS-specific aggregate functions | ||||
| are available on each spatial backend. | ||||
| are available on each spatial backend. Please note that MariaDB does not | ||||
| support any of these aggregates, and is thus excluded from the table. | ||||
|  | ||||
| .. currentmodule:: django.contrib.gis.db.models | ||||
|  | ||||
| =======================  =======  ======  ==========  ============  ========== | ||||
| Aggregate                PostGIS  Oracle  MariaDB     MySQL         SpatiaLite | ||||
| =======================  =======  ======  ==========  ============  ========== | ||||
| :class:`Collect`         X                X (≥ 11.7)  X (≥ 8.0.24)  X | ||||
| :class:`Extent`          X        X                                 X | ||||
| =======================  =======  ======  ============  ========== | ||||
| Aggregate                PostGIS  Oracle  MySQL         SpatiaLite | ||||
| =======================  =======  ======  ============  ========== | ||||
| :class:`Collect`         X                X (≥ 8.0.24)  X | ||||
| :class:`Extent`          X        X                     X | ||||
| :class:`Extent3D`        X | ||||
| :class:`MakeLine`        X                                          X | ||||
| :class:`Union`           X        X                                 X | ||||
| =======================  =======  ======  ==========  ============  ========== | ||||
| :class:`MakeLine`        X                              X | ||||
| :class:`Union`           X        X                     X | ||||
| =======================  =======  ======  ============  ========== | ||||
|  | ||||
| .. rubric:: Footnotes | ||||
| .. [#fnwkt] *See* Open Geospatial Consortium, Inc., `OpenGIS Simple Feature Specification For SQL <https://portal.ogc.org/files/?artifact_id=829>`_, Document 99-049 (May 5, 1999), at  Ch. 3.2.5, p. 3-11 (SQL Textual Representation of Geometry). | ||||
|   | ||||
| @@ -381,7 +381,7 @@ Creates geometry from `Well-known text (WKT)`_ representation. The optional | ||||
|  | ||||
| .. class:: GeoHash(expression, precision=None, **extra) | ||||
|  | ||||
| *Availability*: MariaDB, `MySQL | ||||
| *Availability*: `MySQL | ||||
| <https://dev.mysql.com/doc/refman/en/spatial-geohash-functions.html#function_st-geohash>`__, | ||||
| `PostGIS <https://postgis.net/docs/ST_GeoHash.html>`__, SpatiaLite | ||||
| (LWGEOM/RTTOPO) | ||||
| @@ -394,10 +394,6 @@ result. | ||||
|  | ||||
| __ https://en.wikipedia.org/wiki/Geohash | ||||
|  | ||||
| .. versionchanged:: 5.2 | ||||
|  | ||||
|     MariaDB 11.7+ support was added. | ||||
|  | ||||
| ``GeometryDistance`` | ||||
| ==================== | ||||
|  | ||||
| @@ -436,17 +432,13 @@ geometry. Returns ``True`` if its value is empty and ``False`` otherwise. | ||||
|  | ||||
| .. class:: IsValid(expr) | ||||
|  | ||||
| *Availability*: MariaDB, `MySQL | ||||
| *Availability*: `MySQL | ||||
| <https://dev.mysql.com/doc/refman/en/spatial-convenience-functions.html#function_st-isvalid>`__, | ||||
| `PostGIS <https://postgis.net/docs/ST_IsValid.html>`__, Oracle, SpatiaLite | ||||
|  | ||||
| Accepts a geographic field or expression and tests if the value is well formed. | ||||
| Returns ``True`` if its value is a valid geometry and ``False`` otherwise. | ||||
|  | ||||
| .. versionchanged:: 5.2 | ||||
|  | ||||
|     MariaDB 11.7+ support was added. | ||||
|  | ||||
| ``Length`` | ||||
| ========== | ||||
|  | ||||
|   | ||||
| @@ -375,8 +375,8 @@ Example:: | ||||
| ``isvalid`` | ||||
| ----------- | ||||
|  | ||||
| *Availability*: MariaDB, MySQL, | ||||
| `PostGIS <https://postgis.net/docs/ST_IsValid.html>`__, Oracle, SpatiaLite | ||||
| *Availability*: MySQL, `PostGIS <https://postgis.net/docs/ST_IsValid.html>`__, | ||||
| Oracle, SpatiaLite | ||||
|  | ||||
| Tests if the geometry is valid. | ||||
|  | ||||
| @@ -384,16 +384,12 @@ Example:: | ||||
|  | ||||
|     Zipcode.objects.filter(poly__isvalid=True) | ||||
|  | ||||
| ===================================  ================================================================ | ||||
| Backend                              SQL Equivalent | ||||
| ===================================  ================================================================ | ||||
| MariaDB, MySQL, PostGIS, SpatiaLite  ``ST_IsValid(poly)`` | ||||
| Oracle                               ``SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(poly, 0.05) = 'TRUE'`` | ||||
| ===================================  ================================================================ | ||||
|  | ||||
| .. versionchanged:: 5.2 | ||||
|  | ||||
|     MariaDB 11.7+ support was added. | ||||
| ==========================  ================================================================ | ||||
| Backend                     SQL Equivalent | ||||
| ==========================  ================================================================ | ||||
| MySQL, PostGIS, SpatiaLite  ``ST_IsValid(poly)`` | ||||
| Oracle                      ``SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(poly, 0.05) = 'TRUE'`` | ||||
| ==========================  ================================================================ | ||||
|  | ||||
| .. fieldlookup:: overlaps | ||||
|  | ||||
| @@ -885,8 +881,8 @@ Example: | ||||
|  | ||||
| .. class:: Collect(geo_field, filter=None) | ||||
|  | ||||
| *Availability*: `PostGIS <https://postgis.net/docs/ST_Collect.html>`__, | ||||
| MariaDB, MySQL, SpatiaLite | ||||
| *Availability*: `PostGIS <https://postgis.net/docs/ST_Collect.html>`__, MySQL, | ||||
| SpatiaLite | ||||
|  | ||||
| Returns a ``GEOMETRYCOLLECTION`` or a ``MULTI`` geometry object from the geometry | ||||
| column. This is analogous to a simplified version of the :class:`Union` | ||||
| @@ -894,10 +890,6 @@ aggregate, except it can be several orders of magnitude faster than performing | ||||
| a union because it rolls up geometries into a collection or multi object, not | ||||
| caring about dissolving boundaries. | ||||
|  | ||||
| .. versionchanged:: 5.2 | ||||
|  | ||||
|     MariaDB 11.7+ support was added. | ||||
|  | ||||
| ``Extent`` | ||||
| ~~~~~~~~~~ | ||||
|  | ||||
|   | ||||
| @@ -199,11 +199,7 @@ Minor features | ||||
|  | ||||
| * :lookup:`coveredby` and :lookup:`covers` lookup are now supported on MySQL. | ||||
|  | ||||
| * :lookup:`coveredby` and :lookup:`isvalid` lookups, | ||||
|   :class:`~django.contrib.gis.db.models.Collect` aggregation, and | ||||
|   :class:`~django.contrib.gis.db.models.functions.GeoHash` and | ||||
|   :class:`~django.contrib.gis.db.models.functions.IsValid` database functions | ||||
|   are now supported on MariaDB 11.7+. | ||||
| * :lookup:`coveredby` lookup is now supported on MariaDB 11.7+. | ||||
|  | ||||
| :mod:`django.contrib.syndication` | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user