Fixed #32303 -- Bumped minimum supported SQLite to 3.9.0.

This commit is contained in:
Mariusz Felisiak 2020-12-30 09:01:56 +01:00 committed by GitHub
parent e64c1d8055
commit 74fd233b14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 12 additions and 8 deletions

View File

@ -64,8 +64,10 @@ def list_aggregate(function):
def check_sqlite_version(): def check_sqlite_version():
if Database.sqlite_version_info < (3, 8, 3): if Database.sqlite_version_info < (3, 9, 0):
raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version) raise ImproperlyConfigured(
'SQLite 3.9.0 or later is required (found %s).' % Database.sqlite_version
)
check_sqlite_version() check_sqlite_version()

View File

@ -61,7 +61,7 @@ Database Library Requirements Supported Versions Notes
PostgreSQL GEOS, GDAL, PROJ, PostGIS 9.6+ Requires PostGIS. PostgreSQL GEOS, GDAL, PROJ, PostGIS 9.6+ Requires PostGIS.
MySQL GEOS, GDAL 5.7+ :ref:`Limited functionality <mysql-spatial-limitations>`. MySQL GEOS, GDAL 5.7+ :ref:`Limited functionality <mysql-spatial-limitations>`.
Oracle GEOS, GDAL 12.2+ XE not supported. Oracle GEOS, GDAL 12.2+ XE not supported.
SQLite GEOS, GDAL, PROJ, SpatiaLite 3.8.3+ Requires SpatiaLite 4.3+ SQLite GEOS, GDAL, PROJ, SpatiaLite 3.9.0+ Requires SpatiaLite 4.3+
================== ============================== ================== ========================================= ================== ============================== ================== =========================================
See also `this comparison matrix`__ on the OSGeo Wiki for See also `this comparison matrix`__ on the OSGeo Wiki for

View File

@ -679,7 +679,7 @@ appropriate typecasting.
SQLite notes SQLite notes
============ ============
Django supports SQLite 3.8.3 and later. Django supports SQLite 3.9.0 and later.
SQLite_ provides an excellent development alternative for applications that SQLite_ provides an excellent development alternative for applications that
are predominantly read-only or require a smaller installation footprint. As are predominantly read-only or require a smaller installation footprint. As

View File

@ -1199,7 +1199,7 @@ Python native format: dictionaries, lists, strings, numbers, booleans and
``None``. ``None``.
``JSONField`` is supported on MariaDB 10.2.7+, MySQL 5.7.8+, Oracle, ``JSONField`` is supported on MariaDB 10.2.7+, MySQL 5.7.8+, Oracle,
PostgreSQL, and SQLite 3.9.0+ (with the :ref:`JSON1 extension enabled PostgreSQL, and SQLite (with the :ref:`JSON1 extension enabled
<sqlite-json1>`). <sqlite-json1>`).
.. attribute:: JSONField.encoder .. attribute:: JSONField.encoder

View File

@ -689,6 +689,8 @@ Miscellaneous
Due to a ``python-memcached`` limitation, the previous behavior is kept for Due to a ``python-memcached`` limitation, the previous behavior is kept for
the deprecated ``MemcachedCache`` backend. the deprecated ``MemcachedCache`` backend.
* The minimum supported version of SQLite is increased from 3.8.3 to 3.9.0.
.. _deprecated-features-3.2: .. _deprecated-features-3.2:
Features deprecated in 3.2 Features deprecated in 3.2

View File

@ -30,9 +30,9 @@ class Tests(TestCase):
longMessage = True longMessage = True
def test_check_sqlite_version(self): def test_check_sqlite_version(self):
msg = 'SQLite 3.8.3 or later is required (found 3.8.2).' msg = 'SQLite 3.9.0 or later is required (found 3.8.11.1).'
with mock.patch.object(dbapi2, 'sqlite_version_info', (3, 8, 2)), \ with mock.patch.object(dbapi2, 'sqlite_version_info', (3, 8, 11, 1)), \
mock.patch.object(dbapi2, 'sqlite_version', '3.8.2'), \ mock.patch.object(dbapi2, 'sqlite_version', '3.8.11.1'), \
self.assertRaisesMessage(ImproperlyConfigured, msg): self.assertRaisesMessage(ImproperlyConfigured, msg):
check_sqlite_version() check_sqlite_version()