public final class PurgeOperation extends PhysicalPageOperation
Page.purgeAtSlot(int, int, boolean)
,
Serialized FormFormat ID | LOGOP_PURGE the formatId is written by FormatIdOutputStream when this object is written out by writeObject |
Purpose | purge num_rows from the page |
Upgrade | |
Disk Layout | PagePhysicalOperation the super class slot(CompressedInt) the slot to start purging num_rows(CompressedInt) number of rows rows to purge recordIds(CompressedInt[num_rows]) the recordIds of the purged rows OptionalData the before images of the rows that were purged |
Modifier and Type | Field and Description |
---|---|
protected int |
num_rows |
protected ByteArray |
preparedLog |
protected int[] |
recordIds |
protected int |
slot |
containerHdl, foundHere, page
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
Constructor and Description |
---|
PurgeOperation() |
PurgeOperation(RawTransaction t,
BasePage page,
int slot,
int num_rows,
int[] recordIds,
boolean needDataLogged) |
Modifier and Type | Method and Description |
---|---|
void |
doMe(Transaction xact,
LogInstant instant,
LimitObjectInput in)
Apply the purge operation to the page.
|
ByteArray |
getPreparedLog()
the default for optional data is set to null.
|
int |
getTypeFormatId()
Return my format identifier.
|
void |
readExternal(java.io.ObjectInput in)
Read this in
|
void |
restoreMe(Transaction xact,
BasePage undoPage,
LogInstant CLRInstant,
LimitObjectInput in)
restore the before image of the page
|
java.lang.String |
toString()
DEBUG: Print self.
|
void |
undoMe(Transaction xact,
BasePage undoPage,
LogInstant CLRInstant,
LimitObjectInput in)
Undo the purge operation on the page.
|
void |
writeExternal(java.io.ObjectOutput out) |
private void |
writeOptionalDataToBuffer(RawTransaction t,
boolean needDataLogged)
Write out the purged record from the page.
|
generateUndo
findpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, group, needsRedo, reclaimPrepareLocks, releaseResource, resetPageNumber
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
group, needsRedo, releaseResource
protected int slot
protected int num_rows
protected int[] recordIds
protected transient ByteArray preparedLog
PurgeOperation(RawTransaction t, BasePage page, int slot, int num_rows, int[] recordIds, boolean needDataLogged) throws StandardException
StandardException
public PurgeOperation()
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
writeExternal
in class PageBasicOperation
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
readExternal
in class PageBasicOperation
java.io.IOException
- error reading from log streamjava.lang.ClassNotFoundException
- log stream corruptedpublic int getTypeFormatId()
public void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, java.io.IOException
xact
- the Transactioninstant
- the log instant of this operationin
- optional datajava.io.IOException
- Can be thrown by any of the methods of ObjectInput.StandardException
- Standard Derby policy.Loggable.doMe(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.store.raw.log.LogInstant, org.apache.derby.iapi.services.io.LimitObjectInput)
public void undoMe(Transaction xact, BasePage undoPage, LogInstant CLRInstant, LimitObjectInput in) throws StandardException, java.io.IOException
undoMe
in class PhysicalPageOperation
xact
- the Transaction doing the rollbackundoPage
- the page to rollback changes onCLRInstant
- the log instant of this (PageUndo) operationin
- optional data for the rollback operationjava.io.IOException
- Can be thrown by any of the methods of ObjectInput.StandardException
- Standard Derby policy.PhysicalPageOperation.undoMe(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.impl.store.raw.data.BasePage, org.apache.derby.iapi.store.raw.log.LogInstant, org.apache.derby.iapi.services.io.LimitObjectInput)
public void restoreMe(Transaction xact, BasePage undoPage, LogInstant CLRInstant, LimitObjectInput in) throws StandardException, java.io.IOException
restoreMe
in class PageBasicOperation
xact
- the Transaction doing the rollbackundoPage
- the page to rollback changes onCLRInstant
- the log instant of this (PageUndo) operationin
- optional data for the rollback operationStandardException
- Standard Derby Error Policyjava.io.IOException
- problem reading the complete log record from the
input streampublic ByteArray getPreparedLog()
PageBasicOperation
getPreparedLog
in interface Loggable
getPreparedLog
in class PageBasicOperation
private void writeOptionalDataToBuffer(RawTransaction t, boolean needDataLogged) throws StandardException, java.io.IOException
java.io.IOException
- Can be thrown by any of the methods of ObjectOutput.StandardException
- Standard Derby policy.public java.lang.String toString()
toString
in class PageBasicOperation
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.