summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/connectors
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2018-03-30 11:22:30 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2018-03-30 11:22:30 -0400
commitf55c4f6bd2cb2f2b18e62159361ce7ecb5897396 (patch)
tree13dd4b79b15231c6558d392733d0a4db0e04ce40 /lib/sqlalchemy/connectors
parentf9c4b5ea7deca071d38e89cbd5643b98f78dd25f (diff)
downloadsqlalchemy-f55c4f6bd2cb2f2b18e62159361ce7ecb5897396.tar.gz
Filter non-integer characters from pyodbc SQL Server version
Adjusted the SQL Server version detection for pyodbc to only allow for numeric tokens, filtering out non-integers, since the dialect does tuple- numeric comparisons with this value. This is normally true for all known SQL Server / pyodbc drivers in any case. Change-Id: I4ab18a07e19231091b5e877ba1fccd5eda72a992 Fixes: #4227
Diffstat (limited to 'lib/sqlalchemy/connectors')
-rw-r--r--lib/sqlalchemy/connectors/pyodbc.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/connectors/pyodbc.py b/lib/sqlalchemy/connectors/pyodbc.py
index d8c3fcec4..41ba89de6 100644
--- a/lib/sqlalchemy/connectors/pyodbc.py
+++ b/lib/sqlalchemy/connectors/pyodbc.py
@@ -134,7 +134,7 @@ class PyODBCConnector(Connector):
vers += (m.group(2),)
return vers
- def _get_server_version_info(self, connection):
+ def _get_server_version_info(self, connection, allow_chars=True):
# NOTE: this function is not reliable, particularly when
# freetds is in use. Implement database-specific server version
# queries.
@@ -145,7 +145,8 @@ class PyODBCConnector(Connector):
try:
version.append(int(n))
except ValueError:
- version.append(n)
+ if allow_chars:
+ version.append(n)
return tuple(version)
def set_isolation_level(self, connection, level):