You are not logged in Log in Join
You are here: Home » Members » jim » ZODB » UndoMethod

Log in
Name

Password

 
 
FrontPage » RelationalStorage » BrewingIdeas »

UndoMethod

def undo(self, transaction_id):
    self._lock_acquire()
    try:
        transaction_id = base64.decodestring(transaction_id+"\n")
        if not TransactionExists (transaction_id):
            raise UndoError, "Invalid Undo Transaction Id"
        if TransactionIsNotUndoable (transaction_id):
            raise UndoError, "Non-Undoable Transaction"
        serial = self._serial
        MakeDummyUndoRecords (serial, transaction_id)
        UndoPopulatedRecords (serial, transaction_id)
        UndoUnpopulatedRecords (serial, transaction_id)
        ClearUndoStatus (transaction_id)    
        oids = GetCurrentOids (serial)
        return oids
    finally:
        self._lock_release()