Fixed #2662 -- Changed dictfetchmany and dictfetchall to return iterators,
rather than a list, in order to save memory. Patch from Simon Willison. git-svn-id: http://code.djangoproject.com/svn/django/trunk@3783 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4b5f0e2c87
commit
4f63ce5b4a
|
@ -110,9 +110,11 @@ def dictfetchone(cursor):
|
|||
def dictfetchmany(cursor, number):
|
||||
"Returns a certain number of rows from a cursor as a dict"
|
||||
desc = cursor.description
|
||||
return [_dict_helper(desc, row) for row in cursor.fetchmany(number)]
|
||||
for row in cursor.fetchmany(number):
|
||||
yield _dict_helper(desc, row)
|
||||
|
||||
def dictfetchall(cursor):
|
||||
"Returns all rows from a cursor as a dict"
|
||||
desc = cursor.description
|
||||
return [_dict_helper(desc, row) for row in cursor.fetchall()]
|
||||
for row in cursor.fetchall():
|
||||
yield _dict_helper(desc, row)
|
||||
|
|
Loading…
Reference in New Issue