summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-03-17 12:32:33 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-03-17 12:32:33 -0400
commitb7e151ac5cf5a0c13b9a30bc6841ed0cfe322536 (patch)
tree039e129fb13d3fbafd2dcc718c15a5a2ea85a49f /lib/sqlalchemy/engine/base.py
parent2cadd768aa48d1180e24600cf133586a343ea10b (diff)
downloadsqlalchemy-b7e151ac5cf5a0c13b9a30bc6841ed0cfe322536.tar.gz
- The "auto close" for :class:`.ResultProxy` is now a "soft" close.
That is, after exhausing all rows using the fetch methods, the DBAPI cursor is released as before and the object may be safely discarded, but the fetch methods may continue to be called for which they will return an end-of-result object (None for fetchone, empty list for fetchmany and fetchall). Only if :meth:`.ResultProxy.close` is called explicitly will these methods raise the "result is closed" error. fixes #3330 fixes #3329
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
-rw-r--r--lib/sqlalchemy/engine/base.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 6be446313..5921ab9ba 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -1160,12 +1160,12 @@ class Connection(Connectable):
else:
result = context.get_result_proxy()
if result._metadata is None:
- result.close(_autoclose_connection=False)
+ result._soft_close(_autoclose_connection=False)
if context.should_autocommit and self._root.__transaction is None:
self._root._commit_impl(autocommit=True)
- if result.closed and self.should_close_with_result:
+ if result._soft_closed and self.should_close_with_result:
self.close()
return result