Class B2IUndo

    • Constructor Summary

      Constructors 
      Constructor Description
      B2IUndo()  
    • Constructor Detail

      • B2IUndo

        public B2IUndo()
    • Method Detail

      • findUndo

        public Page findUndo​(Transaction rawtran,
                             LogicalUndoable pageOp,
                             LimitObjectInput in)
                      throws StandardException,
                             java.io.IOException
        Find the page and record to undo. If no logical undo is necessary, i.e., row has not moved, then just return the latched page where undo should go. If the record has moved, it has a new recordId on the new page, this routine needs to call pageOp.resetRecord with the new RecordHandle so that the logging system can update the compensation Operation with the new location.
        Specified by:
        findUndo in interface LogicalUndo
        Parameters:
        rawtran - the transaction doing the rollback
        pageOp - the page operation that supports logical undo. This LogicalUndo function pointer is a field of that pageOperation
        in - data stored in the log stream that contains the record data necessary to restore the row.
        Throws:
        StandardException - Standard Derby error policy
        java.io.IOException - Method may read from InputStream
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        This object has no state, so nothing to write.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Restore the in-memory representation from the stream. This object has no state, so nothing to restore.
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.lang.ClassNotFoundException - Thrown if the stored representation is serialized and a class named in the stream could not be found.
        java.io.IOException
        See Also:
        Externalizable.readExternal(java.io.ObjectInput)