Class CheckpointOperation

java.lang.Object
org.apache.derby.impl.store.raw.log.CheckpointOperation
All Implemented Interfaces:
Externalizable, Serializable, Formatable, TypedFormat, Loggable

public class CheckpointOperation extends Object implements Loggable
A Log Operation that represents a checkpoint.
See Also:
  • Field Details

    • redoLWM

      protected long redoLWM
    • undoLWM

      protected long undoLWM
    • transactionTable

      protected Formatable transactionTable
  • Constructor Details

    • CheckpointOperation

      public CheckpointOperation(long redoLWM, long undoLWM, Formatable ttab)
    • CheckpointOperation

      public CheckpointOperation()
  • Method Details

    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException
      ClassNotFoundException
    • getTypeFormatId

      public int getTypeFormatId()
      Return my format identifier.
      Specified by:
      getTypeFormatId in interface TypedFormat
      Returns:
      The identifier. (A UUID stuffed in an array of 16 bytes).
    • doMe

      public void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException
      Nothing to do unless we are rollforward recovery; Redoing of checkpoints during rollforward recovery allows us to restart the roll-forward recovery from the last checkpoint redone during rollforward recovery, if we happen to crash during the roll-forward recovery process. Another reason why we need to do this is dropped table stub files removed at checkpoint because the containerids may have been reused after a checkpoint if the system was rebooted.
      Specified by:
      doMe in interface Loggable
      Parameters:
      xact - the Transaction
      instant - the log instant of this operation
      in - optional data
      Throws:
      StandardException - Standard Derby policy.
    • getPreparedLog

      public ByteArray getPreparedLog()
      the default for prepared log is always null for all the operations that don't have optionalData. If an operation has optional data, the operation need to prepare the optional data for this method. Checkpoint has no optional data to write out
      Specified by:
      getPreparedLog in interface Loggable
    • needsRedo

      public boolean needsRedo(Transaction xact)
      Checkpoint does not need to be redone unless we are doing rollforward recovery.
      Specified by:
      needsRedo in interface Loggable
      Parameters:
      xact - The transaction trying to redo this operation
      Returns:
      true if operation needs redoing, false if not.
      See Also:
    • releaseResource

      public void releaseResource(Transaction xact)
      Checkpoint has not resource to release
      Specified by:
      releaseResource in interface Loggable
    • group

      public int group()
      Checkpoint is a raw store operation
      Specified by:
      group in interface Loggable
    • redoLWM

      public long redoLWM()
      Access attributes of the checkpoint record
    • undoLWM

      public long undoLWM()
    • getTransactionTable

      public Formatable getTransactionTable()
    • toString

      public String toString()
      DEBUG: Print self.
      Overrides:
      toString in class Object