From eda2fc7c04ab003c5ec727ce92e4310519e0a0c2 Mon Sep 17 00:00:00 2001 From: Paul Johnston Date: Sun, 25 Nov 2007 22:46:22 +0000 Subject: MSSQL/PyODBC no longer has a global set nocount on --- lib/sqlalchemy/databases/mssql.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'lib/sqlalchemy/databases') diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index f8c7f23e5..c24e28dfd 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -345,17 +345,10 @@ class MSSQLExecutionContext(default.DefaultExecutionContext): class MSSQLExecutionContext_pyodbc (MSSQLExecutionContext): def pre_exec(self): - """execute "set nocount on" on all connections, as a partial - workaround for multiple result set issues.""" - - if not getattr(self.connection, 'pyodbc_done_nocount', False): - self.connection.execute('SET nocount ON') - self.connection.pyodbc_done_nocount = True - + """where appropriate, issue "select scope_identity()" in the same statement""" super(MSSQLExecutionContext_pyodbc, self).pre_exec() - - # where appropriate, issue "select scope_identity()" in the same statement - if self.compiled.isinsert and self.HASIDENT and (not self.IINSERT) and self.dialect.use_scope_identity: + if self.compiled.isinsert and self.HASIDENT and (not self.IINSERT) \ + and len(self.parameters) == 1 and self.dialect.use_scope_identity: self.statement += "; select scope_identity()" def post_exec(self): -- cgit v1.2.1