From 055027d29cb3e8485e36fac5bbffbd5c42fb7e4b Mon Sep 17 00:00:00 2001 From: Gord Thompson Date: Mon, 11 May 2020 14:44:37 -0600 Subject: [PATCH] Move supports_sane_rowcount_returning = False to dialect level Fixes: #5321 Change-Id: Id83e98e9013818424c133297a850746302633158 (cherry picked from commit cc97dade0de008ce923dbb94db21a8e1ccb5bb22) --- doc/build/changelog/unreleased_13/5321.rst | 7 +++++++ lib/sqlalchemy/connectors/pyodbc.py | 3 ++- lib/sqlalchemy/dialects/mssql/pyodbc.py | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 doc/build/changelog/unreleased_13/5321.rst diff --git a/doc/build/changelog/unreleased_13/5321.rst b/doc/build/changelog/unreleased_13/5321.rst new file mode 100644 index 0000000000..485afad85e --- /dev/null +++ b/doc/build/changelog/unreleased_13/5321.rst @@ -0,0 +1,7 @@ +.. change:: + :tags: change, mssql + :tickets: 5321 + + Moved the ``supports_sane_rowcount_returning = False`` requirement from + the ``PyODBCConnector`` level to the ``MSDialect_pyodbc`` since pyodbc + does work properly in some circumstances. diff --git a/lib/sqlalchemy/connectors/pyodbc.py b/lib/sqlalchemy/connectors/pyodbc.py index d0c1148220..cd79a3ada0 100644 --- a/lib/sqlalchemy/connectors/pyodbc.py +++ b/lib/sqlalchemy/connectors/pyodbc.py @@ -14,7 +14,8 @@ from .. import util class PyODBCConnector(Connector): driver = "pyodbc" - supports_sane_rowcount_returning = False + # this is no longer False for pyodbc in general + supports_sane_rowcount_returning = True supports_sane_multi_rowcount = False supports_unicode_statements = True diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py index 62edef7611..891a3f6e7f 100644 --- a/lib/sqlalchemy/dialects/mssql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py @@ -314,6 +314,9 @@ class MSExecutionContext_pyodbc(MSExecutionContext): class MSDialect_pyodbc(PyODBCConnector, MSDialect): + # mssql still has problems with this on Linux + supports_sane_rowcount_returning = False + execution_ctx_cls = MSExecutionContext_pyodbc colspecs = util.update_copy( -- 2.39.5