1. 20 Apr, 2001 4 commits
    • Barry Warsaw's avatar
      _zaprevision(): Watch out for the key being missing from the metadata · 3e5f106f
      Barry Warsaw authored
      table; use a safer way of pulling out the lrevid.
      
      pack(): The previous logic was broken, now we first gather up all the
      oids of the objects affected by packable transactions, then we cruise
      through the metadata records of each of those in a separate loop.
      
      Watch out for the call to c.set_range() on the txnoids table to raise
      a DBNotFoundError.  This just means we're trying to access a time
      stamp past the last one in this table, so just use c.last() if that
      happens, and pack all transactions.
      
      When cruising through the txnoids table, stop when you see the first
      PROTECTED_TRANSACTION.  That means that we've already packed back to
      this transaction (Jim, is this right?  Would we ever want to re-pack a
      transaction that's already been packed?)
      3e5f106f
    • Andreas Jung's avatar
      partial regex free - and still working :-) · f983c923
      Andreas Jung authored
      f983c923
    • Andreas Jung's avatar
      StructuredText locale added · 9b3cd6c0
      Andreas Jung authored
      9b3cd6c0
    • Andreas Jung's avatar
      added locale support · 9ae055f8
      Andreas Jung authored
      9ae055f8
  2. 19 Apr, 2001 4 commits
  3. 18 Apr, 2001 5 commits
  4. 17 Apr, 2001 9 commits
  5. 16 Apr, 2001 13 commits
  6. 13 Apr, 2001 5 commits
    • Barry Warsaw's avatar
      Added some debugging aids: · b8f6efe9
      Barry Warsaw authored
          - DNE='nonexist' (it must be 8-bytes and this is easier to pick out)
      
          - _setupDBs(): use self._nextserial to choose the next serial
            number; this is easier to follow than the timestamps the base
            class uses.
      
          - _begin(): increment the next serial counter and assign that to
            self._serial
      
      Also,
      
      ObjectDoesNotExist: Removed, we use a straight KeyError instead since
      undoInfo() obviates the need for this hack.
      
      _vote(): Removed, base class implements this.
      
      _finish(): At the point we increment the refcounts of the objects
      refered to by the pickle, add a FIXME note.  Since objects can be
      revised multiple times in a single transaction, we need to make sure
      not to increment the refcounts too many times (not tested, so fix is
      deferred for later).
      
      abortVersion(): The API requires a VersionError if we try to abort the
      empty version.
      
      load(): The API requires that if we try to load an object on a
      non-existant version, or a version on which the object hasn't been
      changed, that we return the non-version revision of the object instead
      of raising an exception.
      
      transactionalUndo(): Fixed (as yet untested) bug in extraction of
      pack-protection flag from transaction's metadata.
      
      Rewrote the "revid <> tid" branch to check the commit log for any
      promised revisions to the object committed earlier in this
      transaction.  It's possible to revise an object multiple times in the
      same transaction.  Along those lines, record modified oids in a set
      (i.e. dictionary) so we don't get duplicates in the return value.
      
      Use write_object_undo() instead of write_moved_object() so previous
      revisions in the same transaction get recorded by the commit log.
      
      undoLog(): The API defines default arguments, and their semantics, so
      use them!  Also fix typos in cursor method calls and in unpacking the
      user/desc/ext information in the transaction metadata.
      b8f6efe9
    • 's avatar
      Merged fixes for typos, missing docs · 98f0dea1
      authored
      98f0dea1
    • Barry Warsaw's avatar
      _vote(): Removed, base class implements it. · d039974a
      Barry Warsaw authored
      d039974a
    • Barry Warsaw's avatar
      _vote(): Actually, this behavior is shared by both Full and Minimal · 721d56d4
      Barry Warsaw authored
      storages, so it makes sense to move it from there to the base
      class.  _vote() now puts the CommitLog into the promised() state.
      721d56d4
    • Barry Warsaw's avatar
      tpc_vote(), _vote(): Removed, the BaseStorage base class implements · a4e47054
      Barry Warsaw authored
      the infrastructure.
      a4e47054