From: Matt (work) Date: Tue, 11 Feb 2014 22:26:03 +0000 (-0500) Subject: Parse server version info more robustly X-Git-Tag: rel_0_9_3~43^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bd98bd5fffd53a650319d36f002031171930ca86;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Parse server version info more robustly Closes #2934 --- diff --git a/lib/sqlalchemy/dialects/mysql/cymysql.py b/lib/sqlalchemy/dialects/mysql/cymysql.py index 40bbc880ed..4972804595 100644 --- a/lib/sqlalchemy/dialects/mysql/cymysql.py +++ b/lib/sqlalchemy/dialects/mysql/cymysql.py @@ -13,6 +13,7 @@ :url: https://github.com/nakagami/CyMySQL """ +import re from .mysqldb import MySQLDialect_mysqldb from .base import (BIT, MySQLDialect) @@ -54,7 +55,13 @@ class MySQLDialect_cymysql(MySQLDialect_mysqldb): def _get_server_version_info(self, connection): dbapi_con = connection.connection - version = [int(v) for v in dbapi_con.server_version.split('.')] + version = [] + r = re.compile('[.\-]') + for n in r.split(dbapi_con.server_version): + try: + version.append(int(n)) + except ValueError: + version.append(n) return tuple(version) def _detect_charset(self, connection):