• Jim Fulton's avatar
    Fixed misshandling of files > 2GB in size on systems with 32-bit · e9aa3bd3
    Jim Fulton authored
    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.
    e9aa3bd3
FileStorage.py 61.6 KB