java.io.Externalizable, java.io.Serializable, Formatable, TypedFormat, Loggable, LogicalUndoable, RePreparable, Undoablepublic final class InsertOperation extends LogicalPageOperation
Page.insertAtSlot(int, java.lang.Object[], org.apache.derby.iapi.services.io.FormatableBitSet, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo, byte, int),
Serialized Form| Format ID | LOGOP_INSERT the formatId is written by FormatIdOutputStream when this object is written out by writeObject |
| Purpose | |
| insert a row onto a page | |
| Upgrade | |
| Disk Layout | LogicalPageOperation the superclass doMeSlot(CompressedInt) which slot to operate on insertFlat(byte) to undo with purge or with delete OptionalData The after image of the row to be inserted. |
| Modifier and Type | Field | Description |
|---|---|---|
protected int |
doMeSlot |
|
protected byte |
insertFlag |
|
protected ByteArray |
preparedLog |
|
protected int |
startColumn |
next column that need to be inserted.
|
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCKrecordId, undocontainerHdl, foundHere, page| Constructor | Description |
|---|---|
InsertOperation() |
|
InsertOperation(RawTransaction t,
BasePage page,
int slot,
int recordId,
java.lang.Object[] row,
FormatableBitSet validColumns,
LogicalUndo undo,
byte insertFlag,
int startColumn,
boolean isLongColumn,
int realStartColumn,
DynamicByteArrayOutputStream logBuffer,
int realSpaceOnPage,
int overflowThreshold) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
doMe(Transaction xact,
LogInstant instant,
LimitObjectInput in) |
Apply the change indicated by this operation and optional data.
|
int |
getNextStartColumn() |
|
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() |
DEBUG: Print self.
|
void |
undoMe(Transaction xact,
BasePage undoPage,
int undoRecordId,
LogInstant CLRInstant,
LimitObjectInput in) |
Undo the insert by simply marking the just inserted record as deleted.
|
void |
writeExternal(java.io.ObjectOutput out) |
Write this out.
|
private void |
writeOptionalDataToBuffer(RawTransaction t,
DynamicByteArrayOutputStream logBuffer,
java.lang.Object[] row,
FormatableBitSet validColumns,
boolean isLongColumn,
int realStartColumn,
int realSpaceOnPage,
int overflowThreshold) |
Writes out the row that is to be inserted as the optional data.
|
group, needsRedo, releaseResourcegenerateUndo, getContainer, getRecordHandle, reclaimPrepareLocks, resetRecordHandleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, group, needsRedo, releaseResource, resetPageNumberprotected int doMeSlot
protected byte insertFlag
protected transient int startColumn
protected transient ByteArray preparedLog
InsertOperation(RawTransaction t, BasePage page, int slot, int recordId, java.lang.Object[] row, FormatableBitSet validColumns, LogicalUndo undo, byte insertFlag, int startColumn, boolean isLongColumn, int realStartColumn, DynamicByteArrayOutputStream logBuffer, int realSpaceOnPage, int overflowThreshold) throws StandardException
StandardExceptionpublic InsertOperation()
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.ExternalizablewriteExternal in class LogicalPageOperationjava.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.ExternalizablereadExternal in class LogicalPageOperationjava.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
LoggableThe available() method of in indicates how much data can be read, i.e. how much was originally written.
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, int undoRecordId, LogInstant CLRInstant, LimitObjectInput in) throws StandardException, java.io.IOException
undoMe in class LogicalPageOperationxact - 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 operationjava.io.IOException - Can be thrown by any of the methods of ObjectInput.StandardException - Standard Derby policy.LogicalPageOperation.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 streamStandardException - Standard Derby error policyLogicalUndopublic void restoreMe(Transaction xact, BasePage undoPage, LogInstant CLRinstant, LimitObjectInput in) throws StandardException, java.io.IOException
restoreMe in class PageBasicOperationxact - 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()
PageBasicOperationgetPreparedLog in interface LoggablegetPreparedLog in class PageBasicOperationpublic int getNextStartColumn()
private void writeOptionalDataToBuffer(RawTransaction t, DynamicByteArrayOutputStream logBuffer, java.lang.Object[] row, FormatableBitSet validColumns, boolean isLongColumn, int realStartColumn, int realSpaceOnPage, int overflowThreshold) throws StandardException, java.io.IOException
java.io.IOException - Can be thrown by any of the methods of ObjectOutputStandardException - Standard Derby policy.public java.lang.String toString()
toString in class PageBasicOperationApache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.