Fixed #23144 -- Dropped support for MySQL 5.0, 5.1.
This commit is contained in:
parent
fb4f3e04b1
commit
d28396f526
|
@ -341,22 +341,6 @@ class DatabaseOperations(BaseDatabaseOperations):
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def sequence_reset_by_name_sql(self, style, sequences):
|
|
||||||
# Truncate already resets the AUTO_INCREMENT field from
|
|
||||||
# MySQL version 5.0.13 onwards. Refs #16961.
|
|
||||||
if self.connection.mysql_version < (5, 0, 13):
|
|
||||||
return [
|
|
||||||
"%s %s %s %s %s;" % (
|
|
||||||
style.SQL_KEYWORD('ALTER'),
|
|
||||||
style.SQL_KEYWORD('TABLE'),
|
|
||||||
style.SQL_TABLE(self.quote_name(sequence['table'])),
|
|
||||||
style.SQL_KEYWORD('AUTO_INCREMENT'),
|
|
||||||
style.SQL_FIELD('= 1'),
|
|
||||||
) for sequence in sequences
|
|
||||||
]
|
|
||||||
else:
|
|
||||||
return []
|
|
||||||
|
|
||||||
def validate_autopk_value(self, value):
|
def validate_autopk_value(self, value):
|
||||||
# MySQLism: zero in AUTO_INCREMENT field does not work. Refs #17653.
|
# MySQLism: zero in AUTO_INCREMENT field does not work. Refs #17653.
|
||||||
if value == 0:
|
if value == 0:
|
||||||
|
|
|
@ -62,7 +62,7 @@ supported versions, and any notes for each of the supported database backends:
|
||||||
Database Library Requirements Supported Versions Notes
|
Database Library Requirements Supported Versions Notes
|
||||||
================== ============================== ================== =========================================
|
================== ============================== ================== =========================================
|
||||||
PostgreSQL GEOS, PROJ.4, PostGIS 9.0+ Requires PostGIS.
|
PostgreSQL GEOS, PROJ.4, PostGIS 9.0+ Requires PostGIS.
|
||||||
MySQL GEOS 5.x Not OGC-compliant; :ref:`limited functionality <mysql-spatial-limitations>`.
|
MySQL GEOS 5.5+ Not OGC-compliant; :ref:`limited functionality <mysql-spatial-limitations>`.
|
||||||
Oracle GEOS 11.1+ XE not supported.
|
Oracle GEOS 11.1+ XE not supported.
|
||||||
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requires SpatiaLite 2.3+, pysqlite2 2.5+
|
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requires SpatiaLite 2.3+, pysqlite2 2.5+
|
||||||
================== ============================== ================== =========================================
|
================== ============================== ================== =========================================
|
||||||
|
|
|
@ -169,7 +169,7 @@ MySQL notes
|
||||||
Version support
|
Version support
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Django supports MySQL 5.0.3 and higher.
|
Django supports MySQL 5.5 and higher.
|
||||||
|
|
||||||
Django's ``inspectdb`` feature uses the ``information_schema`` database, which
|
Django's ``inspectdb`` feature uses the ``information_schema`` database, which
|
||||||
contains detailed data on all database schemas.
|
contains detailed data on all database schemas.
|
||||||
|
|
|
@ -407,6 +407,13 @@ officially supports.
|
||||||
This also includes dropping support for PostGIS 1.3 and 1.4 as these versions
|
This also includes dropping support for PostGIS 1.3 and 1.4 as these versions
|
||||||
are not supported on versions of PostgreSQL later than 8.4.
|
are not supported on versions of PostgreSQL later than 8.4.
|
||||||
|
|
||||||
|
Support for MySQL versions older than 5.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The end of upstream support periods was reached in January 2012 for MySQL 5.0
|
||||||
|
and December 2013 for MySQL 5.1. As a consequence, Django 1.8 sets 5.5 as the
|
||||||
|
minimum MySQL version it officially supports.
|
||||||
|
|
||||||
Support for Oracle versions older than 11.1
|
Support for Oracle versions older than 11.1
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -259,30 +259,6 @@ class PostgreSQLTests(TestCase):
|
||||||
self.assertIn('::text', do.lookup_cast(lookup))
|
self.assertIn('::text', do.lookup_cast(lookup))
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipUnless(connection.vendor == 'mysql', "Test only for MySQL")
|
|
||||||
class MySQLTests(TestCase):
|
|
||||||
|
|
||||||
def test_autoincrement(self):
|
|
||||||
"""
|
|
||||||
Check that auto_increment fields are reset correctly by sql_flush().
|
|
||||||
Before MySQL version 5.0.13 TRUNCATE did not do auto_increment reset.
|
|
||||||
Refs #16961.
|
|
||||||
"""
|
|
||||||
statements = connection.ops.sql_flush(no_style(),
|
|
||||||
tables=['test'],
|
|
||||||
sequences=[{
|
|
||||||
'table': 'test',
|
|
||||||
'col': 'somecol',
|
|
||||||
}])
|
|
||||||
found_reset = False
|
|
||||||
for sql in statements:
|
|
||||||
found_reset = found_reset or 'ALTER TABLE' in sql
|
|
||||||
if connection.mysql_version < (5, 0, 13):
|
|
||||||
self.assertTrue(found_reset)
|
|
||||||
else:
|
|
||||||
self.assertFalse(found_reset)
|
|
||||||
|
|
||||||
|
|
||||||
class DateQuotingTest(TestCase):
|
class DateQuotingTest(TestCase):
|
||||||
|
|
||||||
def test_django_date_trunc(self):
|
def test_django_date_trunc(self):
|
||||||
|
|
Loading…
Reference in New Issue