Fixed #26868 -- Changed MySQL version detection to use a query.

Workaround a bug with MariaDB and MySQL native client not stripping the
`5.5.5-` prefix.
This commit is contained in:
Marc-Aurèle Brothier 2016-07-07 15:13:56 +02:00 committed by Tim Graham
parent 92c48a392f
commit f8bfa80680
2 changed files with 4 additions and 2 deletions

View File

@ -464,6 +464,7 @@ answer newbie questions, and generally made Django that much better:
Marcin Wróbel
Marc Remolt <m.remolt@webmasters.de>
Marc Tamlyn <marc.tamlyn@gmail.com>
Marc-Aurèle Brothier <ma.brothier@gmail.com>
Marian Andre <django@andre.sk>
Marijn Vriens <marijn@metronomo.cl>
Mario Gonzalez <gonzalemario@gmail.com>

View File

@ -369,8 +369,9 @@ class DatabaseWrapper(BaseDatabaseWrapper):
@cached_property
def mysql_version(self):
with self.temporary_connection():
server_info = self.connection.get_server_info()
with self.temporary_connection() as cursor:
cursor.execute('SELECT VERSION()')
server_info = cursor.fetchone()[0]
match = server_version_re.match(server_info)
if not match:
raise Exception('Unable to determine MySQL version from version string %r' % server_info)