[Zope-Checkins] CVS: Zope2 - FileStorage.py:1.45

Jim Fulton jim@digicool.com
Mon, 7 Aug 2000 17:04:38 -0400


Update of /cvs-repository/Zope2/lib/python/ZODB
In directory korak.digicool.com:/projects/users/jim/Zope2/lib/python/ZODBn

Modified Files:
	FileStorage.py 
Log Message:
Fixed misshandling of files > 2GB in size on systems with 32-bit
integers that could lead to database corruption. Now all file position
computation is done with Python longs. Thanks to Shane Hathaway for
finding this.

Fixed a bug that could cause database corruption if transaction user
names, descriptions, or extension data exceeded 64K bytes. This was
due to the faulty assumption that struct.pack caught overflows, which
it doesn't. :(

Changed to use new tpc_vote protocol. This allows errors that occur
in the last transaction step to be caught during the first phase of
two-phase commit. For example, if we run out of disk space, we now
catch the problem early enough to recover from it.