[z3-checkins] r24075 - z3/sqlos/trunk/src/sqlos/file
jinty at codespeak.net
jinty at codespeak.net
Tue Mar 7 16:46:07 CET 2006
Author: jinty
Date: Tue Mar 7 16:46:05 2006
New Revision: 24075
Modified:
z3/sqlos/trunk/src/sqlos/file/fsutility.py
Log:
Make sure we dont store a whole file in memory.
Modified: z3/sqlos/trunk/src/sqlos/file/fsutility.py
==============================================================================
--- z3/sqlos/trunk/src/sqlos/file/fsutility.py (original)
+++ z3/sqlos/trunk/src/sqlos/file/fsutility.py Tue Mar 7 16:46:05 2006
@@ -362,8 +362,12 @@
def putFile(self, id, filename, file):
# XXX - this is really crappilly inefficient.
tmpfile = open(self._calcTmpFileName(id), 'w')
- tmpfile.write(file.read())
- file.close()
+ blocksize = 8*1024 # 8kb, what is optimal???
+ data = file.read(blocksize)
+ while data:
+ tmpfile.write(data)
+ data = file.read(blocksize)
+ tmpfile.close() # XXX - Do we need a try:finally here?
self._filenames[id] = filename
self._joinTransaction()
self._state[id] = CHANGED
More information about the z3-checkins
mailing list