summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/result.py
diff options
context:
space:
mode:
authorMarc Abramowitz <marc@marc-abramowitz.com>2014-02-13 21:25:21 -0800
committerMarc Abramowitz <marc@marc-abramowitz.com>2014-02-13 21:25:21 -0800
commit9134815951c8dd6abfe254d270d401434ad82fd6 (patch)
treeceafdfe839ed2369d2c3059426ac4ba97f44b713 /lib/sqlalchemy/engine/result.py
parent036cb93abfb44f4ab7fdb125eaaf2597a95a0187 (diff)
downloadsqlalchemy-pr/71.tar.gz
Take a stab at implementing nextsetpr/71
for multiple result sets
Diffstat (limited to 'lib/sqlalchemy/engine/result.py')
-rw-r--r--lib/sqlalchemy/engine/result.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py
index 6c98dae18..4d6408f35 100644
--- a/lib/sqlalchemy/engine/result.py
+++ b/lib/sqlalchemy/engine/result.py
@@ -775,18 +775,27 @@ class ResultProxy(object):
return [process_row(metadata, row, processors, keymap)
for row in rows]
- def fetchall(self):
+ def fetchall(self, close=True):
"""Fetch all rows, just like DB-API ``cursor.fetchall()``."""
try:
l = self.process_rows(self._fetchall_impl())
- self.close()
+ if close:
+ self.close()
return l
except Exception as e:
self.connection._handle_dbapi_exception(
e, None, None,
self.cursor, self.context)
+ def nextset(self):
+ try:
+ return self.cursor.nextset()
+ except (AttributeError, self.dialect.dbapi.NotSupportedError):
+ raise exc.NotSupportedError(
+ "This dialect does not support nextset"
+ )
+
def fetchmany(self, size=None):
"""Fetch many rows, just like DB-API
``cursor.fetchmany(size=cursor.arraysize)``.