From 3b37c8151a06a2bebd51007db30ad436811b82c8 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Tue, 15 Jul 2008 18:47:32 +0000 Subject: Fixed #7411 -- worked around some possible transaction conflicts in SQLite. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7926 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/sql/query.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'django/db/models/sql') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index f682c71d07..ef69d7657f 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1616,10 +1616,16 @@ class Query(object): # The MULTI case. if self.ordering_aliases: - return order_modified_iter(cursor, len(self.ordering_aliases), + result = order_modified_iter(cursor, len(self.ordering_aliases), self.connection.features.empty_fetchmany_value) - return iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)), + result = iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)), self.connection.features.empty_fetchmany_value) + if not self.connection.features.can_use_chunked_reads: + # If we are using non-chunked reads, we return the same data + # structure as normally, but ensure it is all read into memory + # before going any further. + return list(result) + return result # Use the backend's custom Query class if it defines one. Otherwise, use the # default. -- cgit v1.3