summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-10-12 17:02:12 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-10-12 17:02:12 +0000
commitc934ae44a84fd94d805b341bfba68308e82c2384 (patch)
tree3f71d758c1ac45c6c55c02949bcba4144f0289c2 /lib/sqlalchemy/engine/base.py
parente16bfad40756e76bf4622eaeb005983a4300f32e (diff)
downloadsqlalchemy-c934ae44a84fd94d805b341bfba68308e82c2384.tar.gz
- ResultProxy.fetchall() internally uses DBAPI fetchall() for better efficiency,
added to mapper iteration as well (courtesy Michael Twomey)
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
-rw-r--r--lib/sqlalchemy/engine/base.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 79a1909d1..4251c5810 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -632,11 +632,10 @@ class ResultProxy:
def fetchall(self):
"""fetch all rows, just like DBAPI cursor.fetchall()."""
l = []
- while True:
- v = self.fetchone()
- if v is None:
- return l
- l.append(v)
+ for row in self.cursor.fetchall():
+ l.append(RowProxy(self, row))
+ self.close()
+ return l
def fetchone(self):
"""fetch one row, just like DBAPI cursor.fetchone()."""