From 197ffa2be2cadce3df8bfb0799b3c80158250286 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 5 Jan 2016 10:25:36 -0500 Subject: - Fixed 1.0 regression where the eager fetch of cursor.rowcount was no longer called for an UPDATE or DELETE statement emitted via plain text or via the :func:`.text` construct, affecting those drivers that erase cursor.rowcount once the cursor is closed such as SQL Server ODBC and Firebird drivers. fixes #3622 --- lib/sqlalchemy/engine/default.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/sqlalchemy/engine/default.py') diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 9a7b80bfd..87278c2be 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -467,6 +467,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): isupdate = False isdelete = False is_crud = False + is_text = False isddl = False executemany = False compiled = None @@ -543,6 +544,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.isinsert = compiled.isinsert self.isupdate = compiled.isupdate self.isdelete = compiled.isdelete + self.is_text = compiled.isplaintext if not parameters: self.compiled_parameters = [compiled.construct_params()] @@ -622,6 +624,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.root_connection = connection self._dbapi_connection = dbapi_connection self.dialect = connection.dialect + self.is_text = True # plain text statement self.execution_options = connection._execution_options -- cgit v1.2.1