|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.store.raw.data.PageBasicOperation
org.apache.derby.impl.store.raw.data.LogicalPageOperation
org.apache.derby.impl.store.raw.data.DeleteOperation
public final class DeleteOperation
Represents a delete (or undelete) of a record in a page.
Format ID | LOGOP_DELETE the formatId is written by FormatIdOutputStream when this object is written out by writeObject |
Purpose | delete a record from a page. |
Upgrade | |
Disk Layout | LogicalPageOperation the super class doMeSlot(CompressedInt) the slot of the record to delete delete(boolean) if true, delete, else undelete OptionalData if we need logical undo, write the row that was deleted as the optional data. If we don't need logical undo, no optional data |
Field Summary | |
---|---|
protected boolean |
delete
|
protected int |
doMeSlot
|
protected ByteArray |
preparedLog
|
Fields inherited from class org.apache.derby.impl.store.raw.data.LogicalPageOperation |
---|
recordId, undo |
Fields inherited from class org.apache.derby.impl.store.raw.data.PageBasicOperation |
---|
containerHdl, foundHere, page |
Fields inherited from interface org.apache.derby.iapi.store.raw.Loggable |
---|
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK |
Constructor Summary | |
---|---|
DeleteOperation()
|
|
DeleteOperation(RawTransaction t,
BasePage page,
int slot,
int recordId,
boolean delete,
LogicalUndo undo)
|
Method Summary | |
---|---|
void |
doMe(Transaction xact,
LogInstant instant,
LimitObjectInput in)
Mark the record as deleted on 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 |
restoreLoggedRow(java.lang.Object[] row,
LimitObjectInput in)
Restore the row stored in the optional data of the log record. |
void |
restoreMe(Transaction xact,
BasePage undoPage,
LogInstant CLRinstant,
LimitObjectInput in)
restore the before image of the page |
java.lang.String |
toString()
|
void |
undoMe(Transaction xact,
BasePage undoPage,
int undoRecordId,
LogInstant CLRInstant,
LimitObjectInput in)
Mark the record as not deleted, and then fix up the in-memory copy of the page. |
void |
writeExternal(java.io.ObjectOutput out)
Write this out. |
private void |
writeOptionalDataToBuffer(RawTransaction t)
if logical undo, writes out the row that was deleted |
Methods inherited from class org.apache.derby.impl.store.raw.data.LogicalPageOperation |
---|
generateUndo, getContainer, getRecordHandle, reclaimPrepareLocks, resetRecordHandle |
Methods inherited from class org.apache.derby.impl.store.raw.data.PageBasicOperation |
---|
findpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, group, needsRedo, releaseResource, resetPageNumber |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.store.raw.Loggable |
---|
group, needsRedo, releaseResource |
Field Detail |
---|
protected int doMeSlot
protected boolean delete
protected transient ByteArray preparedLog
Constructor Detail |
---|
public DeleteOperation(RawTransaction t, BasePage page, int slot, int recordId, boolean delete, LogicalUndo undo) throws StandardException
StandardException
public DeleteOperation()
Method Detail |
---|
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
writeExternal
in class LogicalPageOperation
java.io.IOException
- error writing to log streampublic void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
readExternal
in class LogicalPageOperation
java.io.IOException
- error reading from log stream
java.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 data
java.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, int undoRecordId, LogInstant CLRInstant, LimitObjectInput in) throws StandardException, java.io.IOException
undoMe
in class LogicalPageOperation
xact
- the Transaction doing the rollbackundoPage
- the page to rollback changes onundoRecordId
- the recordId to rollback changes onCLRInstant
- the log instant of this (PageUndo) operationin
- optional data for the rollback operation
StandardException
- Thrown by methods I call
java.io.IOException
- Thrown by methods I callLogicalPageOperation.undoMe(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.impl.store.raw.data.BasePage, int, org.apache.derby.iapi.store.raw.log.LogInstant, org.apache.derby.iapi.services.io.LimitObjectInput)
public void restoreLoggedRow(java.lang.Object[] row, LimitObjectInput in) throws StandardException, java.io.IOException
row
- an IN/OUT parameter, caller passed in the row with
the correct column number and type, the log operation will restore the
row with the optional data stored in the log record.
java.io.IOException
- error reading from log stream
StandardException
- Standard Derby error policyLogicalUndo
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 operation
StandardException
- Standard Derby Error Policy
java.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) 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
|
Built on Thu 2010-12-23 20:49:13+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |