diff options
author | Marc Abramowitz <marc@marc-abramowitz.com> | 2014-02-13 21:25:21 -0800 |
---|---|---|
committer | Marc Abramowitz <marc@marc-abramowitz.com> | 2014-02-13 21:25:21 -0800 |
commit | 9134815951c8dd6abfe254d270d401434ad82fd6 (patch) | |
tree | ceafdfe839ed2369d2c3059426ac4ba97f44b713 /lib/sqlalchemy/engine/result.py | |
parent | 036cb93abfb44f4ab7fdb125eaaf2597a95a0187 (diff) | |
download | sqlalchemy-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.py | 13 |
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)``. |