Commit aea98e8c authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

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 4423757c.

Closes #18135.
parent 29628e0b
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -464,16 +464,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
    @cached_property
    def mysql_version(self):
        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()
            if new_connection:
                # Make sure we close the connection
                self.close()
            m = server_version_re.match(server_info)
            if not m:
                raise Exception('Unable to determine MySQL version from version string %r' % server_info)
+0 −6
Original line number Diff line number Diff line
@@ -123,12 +123,6 @@ class MySQLTests(TestCase):
        else:
            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):