• Barry Warsaw's avatar
    Essentially, this is a rewrite of the Berkeley versionless, undoless · 47622ceb
    Barry Warsaw authored
    storage.  Some of the internal operations have changed, coding style
    is a bit less compact.  Other substantive changes include:
    
    - The implementation now uses the CommitLog.PacklessLog temporary
      transaction log class.  This avoids the problem with tempfiles being
      unlinked as soon as they are created (and then lost if the process
      exits abnormally).
    
    - Minimal is now derived from BerkeleyBase instead of Base.
    
    - Some updates to use the latest PyBSDDB API, e.g. get() instead of
      has_key().
    
    - The table names have changed to 'serials' and 'pickles'.
    
    - tpc_vote() is now supported.  BerkeleyBase.tpc_vote() calls
      Minimal._vote() and this is where the commit log is placed into the
      promised state.
    
    - The semantics are now that when the transaction successfully
      commits, the commit log file is deleted.  This may need to be
      changed to either a truncation-on-close, or scribble-zero-in-header
      approach for performance reasons.
    47622ceb
BDBMinimalStorage.py 10.3 KB