From: Gord Thompson Date: Mon, 11 May 2020 20:44:37 +0000 (-0600) Subject: Move supports_sane_rowcount_returning = False to dialect level X-Git-Tag: rel_1_3_18~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=055027d29cb3e8485e36fac5bbffbd5c42fb7e4b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Move supports_sane_rowcount_returning = False to dialect level Fixes: #5321 Change-Id: Id83e98e9013818424c133297a850746302633158 (cherry picked from commit cc97dade0de008ce923dbb94db21a8e1ccb5bb22) --- 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(