From 7ca10b1dac758924f9bbd219880cc17a537c5e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anssi=20K=C3=A4=C3=A4ri=C3=A4inen?= Date: Mon, 28 May 2012 20:41:39 +0300 Subject: [PATCH] Reverted "[1.3.x] Fixed #18135 -- Close connection used for db version checking" This reverts commit a15d3b58d8c4cbb6137f0458544ec03f3394bb08. Django 1.3.x is in security fixes only state, and this wasn't a security issue. --- django/db/backends/mysql/base.py | 15 +++------------ tests/regressiontests/backends/tests.py | 8 -------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index 55f3c3d71c..98233c7329 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -334,19 +334,10 @@ class DatabaseWrapper(BaseDatabaseWrapper): def get_server_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.connection.close() - self.connection = None - m = server_version_re.match(server_info) + self.cursor() + m = server_version_re.match(self.connection.get_server_info()) 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' % self.connection.get_server_info()) self.server_version = tuple([int(x) for x in m.groups()]) return self.server_version diff --git a/tests/regressiontests/backends/tests.py b/tests/regressiontests/backends/tests.py index ee2e15bbdd..fc2a973ab1 100644 --- a/tests/regressiontests/backends/tests.py +++ b/tests/regressiontests/backends/tests.py @@ -56,14 +56,6 @@ class OracleChecks(unittest.TestCase): self.assertEqual(connection.connection.encoding, "UTF-8") self.assertEqual(connection.connection.nencoding, "UTF-8") -class MySQLTests(TestCase): - @unittest.skipUnless(connection.vendor == 'mysql', - "Test valid only for MySQL") - def test_server_version_connections(self): - connection.close() - connection.get_server_version() - self.assertTrue(connection.connection is None) - class DateQuotingTest(TestCase): def test_django_date_trunc(self):