java.lang.Object
org.apache.derby.impl.store.raw.data.PageBasicOperation
org.apache.derby.impl.store.raw.data.LogicalPageOperation
org.apache.derby.impl.store.raw.data.UpdateFieldOperation
- All Implemented Interfaces:
- java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, org.apache.derby.iapi.store.raw.Loggable, org.apache.derby.iapi.store.raw.LogicalUndoable, org.apache.derby.iapi.store.raw.RePreparable, java.io.Serializable, org.apache.derby.iapi.services.io.TypedFormat, org.apache.derby.iapi.store.raw.Undoable
- public final class UpdateFieldOperation
- extends LogicalPageOperation
Represents the update of a particular field of a row on a 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 |
|
Method Summary |
void |
doMe(org.apache.derby.iapi.store.raw.Transaction xact,
org.apache.derby.iapi.store.raw.log.LogInstant instant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
Change the value of a field. |
org.apache.derby.iapi.util.ByteArray |
getPreparedLog()
The log operations are responsible to create the ByteArray, and the log
operations should write out any optional data for the change to the
ByteArray. |
int |
getTypeFormatId()
Return my format identifier. |
void |
readExternal(java.io.ObjectInput in)
Read this in |
void |
restoreLoggedRow(java.lang.Object[] row,
org.apache.derby.iapi.services.io.LimitObjectInput in)
Restore the row stored in the optional data of the log record. |
void |
restoreMe(org.apache.derby.iapi.store.raw.Transaction xact,
BasePage undoPage,
org.apache.derby.iapi.store.raw.log.LogInstant CLRInstant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
restore the before image of the page |
java.lang.String |
toString()
DEBUG: Print self. |
void |
undoMe(org.apache.derby.iapi.store.raw.Transaction xact,
BasePage undoPage,
int undoRecordId,
org.apache.derby.iapi.store.raw.log.LogInstant CLRInstant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
Restore field to its old value. |
void |
writeExternal(java.io.ObjectOutput out)
This method is responsible for writing the instance data of an object
to the passed in stream. |
private void |
writeOptionalDataToBuffer(org.apache.derby.iapi.store.raw.xact.RawTransaction t,
java.lang.Object column)
Write the old column value and and new column value as optional data. |
doMeSlot
protected int doMeSlot
fieldId
protected int fieldId
preparedLog
protected transient org.apache.derby.iapi.util.ByteArray preparedLog
UpdateFieldOperation
public UpdateFieldOperation(org.apache.derby.iapi.store.raw.xact.RawTransaction t,
BasePage page,
int slot,
int recordId,
int fieldId,
java.lang.Object column,
org.apache.derby.iapi.store.access.conglomerate.LogicalUndo undo)
throws org.apache.derby.iapi.error.StandardException
UpdateFieldOperation
public UpdateFieldOperation()
writeExternal
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
- Description copied from interface:
java.io.Externalizable
- This method is responsible for writing the instance data of an object
to the passed in stream. Note that this stream is not a subclass of
OutputStream, but rather is a class that implements the
ObjectOutput interface. That interface provides a
number of methods
for writing Java data values to a stream.
Not that the implementation of this method must be coordinated with
the implementation of readExternal.
- Specified by:
writeExternal in interface java.io.Externalizable- Overrides:
writeExternal in class LogicalPageOperation
readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Read this in
- Specified by:
readExternal in interface java.io.Externalizable- Overrides:
readExternal in class LogicalPageOperation
getTypeFormatId
public int getTypeFormatId()
- Return my format identifier.
doMe
public void doMe(org.apache.derby.iapi.store.raw.Transaction xact,
org.apache.derby.iapi.store.raw.log.LogInstant instant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
throws org.apache.derby.iapi.error.StandardException,
java.io.IOException
- Change the value of a field.
undoMe
public void undoMe(org.apache.derby.iapi.store.raw.Transaction xact,
BasePage undoPage,
int undoRecordId,
org.apache.derby.iapi.store.raw.log.LogInstant CLRInstant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
throws org.apache.derby.iapi.error.StandardException,
java.io.IOException
- Restore field to its old value.
- Specified by:
undoMe in class LogicalPageOperation
restoreLoggedRow
public void restoreLoggedRow(java.lang.Object[] row,
org.apache.derby.iapi.services.io.LimitObjectInput in)
throws org.apache.derby.iapi.error.StandardException,
java.io.IOException
- Restore the row stored in the optional data of the log record.
restoreMe
public void restoreMe(org.apache.derby.iapi.store.raw.Transaction xact,
BasePage undoPage,
org.apache.derby.iapi.store.raw.log.LogInstant CLRInstant,
org.apache.derby.iapi.services.io.LimitObjectInput in)
throws org.apache.derby.iapi.error.StandardException,
java.io.IOException
- restore the before image of the page
- Specified by:
restoreMe in class PageBasicOperation
getPreparedLog
public org.apache.derby.iapi.util.ByteArray getPreparedLog()
- Description copied from interface:
org.apache.derby.iapi.store.raw.Loggable
- The log operations are responsible to create the ByteArray, and the log
operations should write out any optional data for the change to the
ByteArray.
The ByteArray can be prepared when the log operation is constructed,
or it can be prepared when getPreparedLog() is called.
Called by the log manager to allow the log operation to pass the buffer
which contains optional data that will be available in to doMe()
methods.
- Specified by:
getPreparedLog in interface org.apache.derby.iapi.store.raw.Loggable- Overrides:
getPreparedLog in class PageBasicOperation
writeOptionalDataToBuffer
private void writeOptionalDataToBuffer(org.apache.derby.iapi.store.raw.xact.RawTransaction t,
java.lang.Object column)
throws org.apache.derby.iapi.error.StandardException,
java.io.IOException
- Write the old column value and and new column value as optional data.
If logical undo, writes out the entire row's before image.
toString
public java.lang.String toString()
- DEBUG: Print self.
- Overrides:
toString in class PageBasicOperation