Prevented SQLCompiler.execute_sql() from closing cursor twice.

cursor_iter() helper calls cursor.close() in a finally block.
This commit is contained in:
Nick Pope 2021-07-16 12:11:46 +01:00 committed by GitHub
parent f51a792c41
commit 304f6ff46a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 9 deletions

View File

@ -1223,15 +1223,11 @@ class SQLCompiler:
chunk_size, chunk_size,
) )
if not chunked_fetch or not self.connection.features.can_use_chunked_reads: if not chunked_fetch or not self.connection.features.can_use_chunked_reads:
try: # If we are using non-chunked reads, we return the same data
# If we are using non-chunked reads, we return the same data # structure as normally, but ensure it is all read into memory
# structure as normally, but ensure it is all read into memory # before going any further. Use chunked_fetch if requested,
# before going any further. Use chunked_fetch if requested, # unless the database doesn't support it.
# unless the database doesn't support it. return list(result)
return list(result)
finally:
# done with the cursor
cursor.close()
return result return result
def as_subquery_condition(self, alias, columns, compiler): def as_subquery_condition(self, alias, columns, compiler):