-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
bugSomething isn't workingSomething isn't workingengineengines, connections, transactions, isolation levels, execution optionsengines, connections, transactions, isolation levels, execution options
Milestone
Description
Migrated issue, originally created by Michael Bayer (@zzzeek)
the resultproxy does an "autoclose", but fetchone() and others should continue to return None or empty list, the same way pep 249 states.
>>> from sqlalchemy import create_engine
>>> e = create_engine("sqlite://")
>>> r = e.execute("select 1")
>>> r.fetchone()
(1,)
>>> r.fetchone()
>>> r.fetchone()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/engine/result.py", line 930, in fetchone
self.cursor, self.context)
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/engine/base.py", line 1335, in _handle_dbapi_exception
util.reraise(*exc_info)
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/engine/result.py", line 921, in fetchone
row = self._fetchone_impl()
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/engine/result.py", line 840, in _fetchone_impl
self._non_result()
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/engine/result.py", line 864, in _non_result
raise exc.ResourceClosedError("This result object is closed.")
sqlalchemy.exc.ResourceClosedError: This result object is closed.
>>>
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingengineengines, connections, transactions, isolation levels, execution optionsengines, connections, transactions, isolation levels, execution options