• 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
Full.py 48.2 KB