Simplified MySQL version checking.

Django used to check the version of MySQL before handling the first
request, which required:
- opening a connection
- closing it, to avoid holding it idle until the first request.

This code isn't necessary any longer since Django dropped support for
some versions of MySQL, and other database backends don't implement a
similar dance. For consistency and maintenability, remove it.

Reverts 4423757c0c.

Closes #18135.
This commit is contained in:
Aymeric Augustin 2013-02-18 19:06:12 +01:00
parent 29628e0b6e
commit aea98e8c53
2 changed files with 0 additions and 15 deletions

View File

@ -464,16 +464,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
@cached_property @cached_property
def mysql_version(self): def mysql_version(self):
if not self.server_version: if not self.server_version:
new_connection = False
if not self._valid_connection():
# Ensure we have a connection with the DB by using a temporary
# cursor
new_connection = True
self.cursor().close()
server_info = self.connection.get_server_info() server_info = self.connection.get_server_info()
if new_connection:
# Make sure we close the connection
self.close()
m = server_version_re.match(server_info) m = server_version_re.match(server_info)
if not m: if not m:
raise Exception('Unable to determine MySQL version from version string %r' % server_info) raise Exception('Unable to determine MySQL version from version string %r' % server_info)

View File

@ -123,12 +123,6 @@ class MySQLTests(TestCase):
else: else:
self.assertFalse(found_reset) self.assertFalse(found_reset)
@unittest.skipUnless(connection.vendor == 'mysql',
"Test valid only for MySQL")
def test_server_version_connections(self):
connection.close()
connection.mysql_version
self.assertTrue(connection.connection is None)
class DateQuotingTest(TestCase): class DateQuotingTest(TestCase):