mirror of https://github.com/django/django.git
Fixed #28654 -- Dropped support for SpatiaLite 4.0.
This commit is contained in:
parent
dd82f33271
commit
fd866c25d1
|
@ -61,5 +61,4 @@ class DatabaseWrapper(SQLiteDatabaseWrapper):
|
||||||
with self.cursor() as cursor:
|
with self.cursor() as cursor:
|
||||||
cursor.execute("PRAGMA table_info(geometry_columns);")
|
cursor.execute("PRAGMA table_info(geometry_columns);")
|
||||||
if cursor.fetchall() == []:
|
if cursor.fetchall() == []:
|
||||||
arg = "1" if self.features.supports_initspatialmetadata_in_one_transaction else ""
|
cursor.execute("SELECT InitSpatialMetaData(1)")
|
||||||
cursor.execute("SELECT InitSpatialMetaData(%s)" % arg)
|
|
||||||
|
|
|
@ -8,13 +8,6 @@ from django.utils.functional import cached_property
|
||||||
class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures):
|
class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures):
|
||||||
supports_3d_storage = True
|
supports_3d_storage = True
|
||||||
|
|
||||||
@cached_property
|
|
||||||
def supports_initspatialmetadata_in_one_transaction(self):
|
|
||||||
# SpatiaLite 4.1+ support initializing all metadata in one transaction
|
|
||||||
# which can result in a significant performance improvement when
|
|
||||||
# creating the database.
|
|
||||||
return self.connection.ops.spatial_version >= (4, 1, 0)
|
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def supports_area_geodetic(self):
|
def supports_area_geodetic(self):
|
||||||
return bool(self.connection.ops.lwgeom_version())
|
return bool(self.connection.ops.lwgeom_version())
|
||||||
|
|
|
@ -41,9 +41,9 @@ class SpatiaLiteIntrospection(DatabaseIntrospection):
|
||||||
# from OGC geom type name to Django field.
|
# from OGC geom type name to Django field.
|
||||||
ogr_type = row[2]
|
ogr_type = row[2]
|
||||||
if isinstance(ogr_type, int) and ogr_type > 1000:
|
if isinstance(ogr_type, int) and ogr_type > 1000:
|
||||||
# SpatiaLite versions >= 4 use the new SFSQL 1.2 offsets
|
# SpatiaLite uses SFSQL 1.2 offsets 1000 (Z), 2000 (M), and
|
||||||
# 1000 (Z), 2000 (M), and 3000 (ZM) to indicate the presence of
|
# 3000 (ZM) to indicate the presence of higher dimensional
|
||||||
# higher dimensional coordinates (M not yet supported by Django).
|
# coordinates (M not yet supported by Django).
|
||||||
ogr_type = ogr_type % 1000 + OGRGeomType.wkb25bit
|
ogr_type = ogr_type % 1000 + OGRGeomType.wkb25bit
|
||||||
field_type = OGRGeomType(ogr_type).django
|
field_type = OGRGeomType(ogr_type).django
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
"""
|
"""
|
||||||
SQL functions reference lists:
|
SQL functions reference lists:
|
||||||
https://web.archive.org/web/20130407175746/https://www.gaia-gis.it/gaia-sins/spatialite-sql-4.0.0.html
|
|
||||||
https://www.gaia-gis.it/gaia-sins/spatialite-sql-4.2.1.html
|
https://www.gaia-gis.it/gaia-sins/spatialite-sql-4.2.1.html
|
||||||
"""
|
"""
|
||||||
from django.contrib.gis.db.backends.base.operations import (
|
from django.contrib.gis.db.backends.base.operations import (
|
||||||
|
@ -96,8 +95,8 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
|
||||||
self.connection.settings_dict['NAME'],
|
self.connection.settings_dict['NAME'],
|
||||||
)
|
)
|
||||||
) from exc
|
) from exc
|
||||||
if version < (4, 0, 0):
|
if version < (4, 1, 0):
|
||||||
raise ImproperlyConfigured('GeoDjango only supports SpatiaLite versions 4.0.0 and above.')
|
raise ImproperlyConfigured('GeoDjango only supports SpatiaLite versions 4.1.0 and above.')
|
||||||
return version
|
return version
|
||||||
|
|
||||||
def convert_extent(self, box):
|
def convert_extent(self, box):
|
||||||
|
|
|
@ -13,7 +13,7 @@ Program Description Required
|
||||||
:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 2.2, 2.1, 2.0, 1.11, 1.10, 1.9
|
:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 2.2, 2.1, 2.0, 1.11, 1.10, 1.9
|
||||||
:doc:`GeoIP <../geoip2>` IP-based geolocation library No 2
|
:doc:`GeoIP <../geoip2>` IP-based geolocation library No 2
|
||||||
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 2.3, 2.2, 2.1
|
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 2.3, 2.2, 2.1
|
||||||
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 4.3, 4.2, 4.1, 4.0
|
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 4.3, 4.2, 4.1
|
||||||
======================== ==================================== ================================ ===================================
|
======================== ==================================== ================================ ===================================
|
||||||
|
|
||||||
Note that older or more recent versions of these libraries *may* also work
|
Note that older or more recent versions of these libraries *may* also work
|
||||||
|
@ -32,7 +32,6 @@ totally fine with GeoDjango. Your mileage may vary.
|
||||||
PostGIS 2.1.0 2013-08-17
|
PostGIS 2.1.0 2013-08-17
|
||||||
PostGIS 2.2.0 2015-10-17
|
PostGIS 2.2.0 2015-10-17
|
||||||
PostGIS 2.3.0 2016-09-26
|
PostGIS 2.3.0 2016-09-26
|
||||||
SpatiaLite 4.0.0 2012-11-25
|
|
||||||
SpatiaLite 4.1.0 2013-06-04
|
SpatiaLite 4.1.0 2013-06-04
|
||||||
SpatiaLite 4.2.0 2014-07-25
|
SpatiaLite 4.2.0 2014-07-25
|
||||||
SpatiaLite 4.3.0 2015-09-07
|
SpatiaLite 4.3.0 2015-09-07
|
||||||
|
|
|
@ -61,7 +61,7 @@ Database Library Requirements Supported Versions Notes
|
||||||
PostgreSQL GEOS, GDAL, PROJ.4, PostGIS 9.4+ Requires PostGIS.
|
PostgreSQL GEOS, GDAL, PROJ.4, PostGIS 9.4+ Requires PostGIS.
|
||||||
MySQL GEOS, GDAL 5.6+ Not OGC-compliant; :ref:`limited functionality <mysql-spatial-limitations>`.
|
MySQL GEOS, GDAL 5.6+ Not OGC-compliant; :ref:`limited functionality <mysql-spatial-limitations>`.
|
||||||
Oracle GEOS, GDAL 12.1+ XE not supported.
|
Oracle GEOS, GDAL 12.1+ XE not supported.
|
||||||
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requires SpatiaLite 4.0+
|
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requires SpatiaLite 4.1+
|
||||||
================== ============================== ================== =========================================
|
================== ============================== ================== =========================================
|
||||||
|
|
||||||
See also `this comparison matrix`__ on the OSGeo Wiki for
|
See also `this comparison matrix`__ on the OSGeo Wiki for
|
||||||
|
|
|
@ -200,6 +200,11 @@ Database backend API
|
||||||
|
|
||||||
* ...
|
* ...
|
||||||
|
|
||||||
|
:mod:`django.contrib.gis`
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
* Support for SpatiaLite 4.0 is removed.
|
||||||
|
|
||||||
Dropped support for MySQL 5.5
|
Dropped support for MySQL 5.5
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue