public interface PageActions
Modifier and Type | Method and Description |
---|---|
void |
actionCopyRows(RawTransaction t,
BasePage destPage,
BasePage srcPage,
int destSlot,
int numRows,
int srcSlot,
int[] recordIds)
Copy num_rows from srcPage into deestpage.
|
void |
actionDelete(RawTransaction t,
BasePage page,
int slot,
int recordId,
boolean delete,
LogicalUndo undo)
Set the Delete status of the record at the given slot.
|
void |
actionInitPage(RawTransaction t,
BasePage page,
int initFlag,
int pageFormatId,
long pageOffset)
Initialize the page due to allocation.
|
int |
actionInsert(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)
Insert record at the given slot with this recordId.
|
void |
actionInvalidatePage(RawTransaction t,
BasePage page)
Invalidate the page due to deallocation.
|
void |
actionPurge(RawTransaction t,
BasePage page,
int slot,
int num_rows,
int[] recordIds,
boolean logData)
Purge the record at the given slot.
|
void |
actionShrinkReservedSpace(RawTransaction t,
BasePage page,
int slot,
int recordId,
int newValue,
int oldValue)
Shrink the reserved space to the new value.
|
int |
actionUpdate(RawTransaction t,
BasePage page,
int slot,
int recordId,
java.lang.Object[] row,
FormatableBitSet validColumns,
int realStartColumn,
DynamicByteArrayOutputStream logBuffer,
int realSpaceOnPage,
RecordHandle headRowHandle)
Update record at the given slot with this row.
|
void |
actionUpdateField(RawTransaction t,
BasePage page,
int slot,
int recordId,
int fieldId,
java.lang.Object newValue,
LogicalUndo undo)
Update a field of the record at the given slot with this value.
|
void actionDelete(RawTransaction t, BasePage page, int slot, int recordId, boolean delete, LogicalUndo undo) throws StandardException
Subclass that implements this method has to call BasePage.setDeleteStatus to update the delete status on the in-memory slot table.
MT - latched, page is latched when this methods is called.
t
- The transactionpage
- the target pageslot
- the slot number of the recordrecordId
- the recordID of the recorddelete
- set the delete status to this valueundo
- logical undo logic if necessaryStandardException
- Standard Derby error policyPage.deleteAtSlot(int, boolean, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo)
int actionUpdate(RawTransaction t, BasePage page, int slot, int recordId, java.lang.Object[] row, FormatableBitSet validColumns, int realStartColumn, DynamicByteArrayOutputStream logBuffer, int realSpaceOnPage, RecordHandle headRowHandle) throws StandardException
MT - latched, page is latched when this methods is called.
t
- The transactionpage
- the updated pageslot
- the slot number of the recordrecordId
- the recordID of the recordrow
- The new storable rowvalidColumns
- the columns that needs to be updatedrealStartColumn
- the first column that is updatedlogBuffer
- where to prepare the log recordrealSpaceOnPage
- ??headRowHandle
- the record handle of the head rowStandardException
- Standard Derby error policyPage.updateAtSlot(int, java.lang.Object[], org.apache.derby.iapi.services.io.FormatableBitSet)
void actionPurge(RawTransaction t, BasePage page, int slot, int num_rows, int[] recordIds, boolean logData) throws StandardException
Subclass that implements this method has to remove the slot from the base page in-memory slot table (removeAndShiftDown).
MT - latched, page is latched when this methods is called.
t
- The transactionslot
- the starting slot number of the recordnum_rows
- how many rows to purgerecordIds
- the recordIDs of the record (an array of num_rows)StandardException
- Standard Derby error policyPage.purgeAtSlot(int, int, boolean)
void actionUpdateField(RawTransaction t, BasePage page, int slot, int recordId, int fieldId, java.lang.Object newValue, LogicalUndo undo) throws StandardException
MT - latched, page is latched when this methods is called.
t
- The transactionslot
- the slot number of the recordrecordId
- the recordID of the recordfieldId
- the fieldId of the valuenewValue
- the new value for the fieldundo
- if logical undo may be necessary, a function
pointer to the access code where the logical undo
logic resides. Null if logical undo is not
necessary.StandardException
- Standard Derby error policyPage.updateFieldAtSlot(int, int, java.lang.Object, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo)
int actionInsert(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
MT - latched, page is latched when this methods is called.
t
- The transactionslot
- the slot number of the recordrecordId
- the recordID of the recordrow
- The storable rowundo
- if logical undo may be necessary, a function
pointer to the access code where the logical
undo logic resides. Null if logical undo is
not necessary.insertFlag
- see Page value for insertFlagStandardException
- Standard Derby error policyPage.insertAtSlot(int, java.lang.Object[], org.apache.derby.iapi.services.io.FormatableBitSet, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo, byte, int)
void actionCopyRows(RawTransaction t, BasePage destPage, BasePage srcPage, int destSlot, int numRows, int srcSlot, int[] recordIds) throws StandardException
Longer descrption of routine.
t
- The transactiondestPage
- the destination pagesrcPage
- the source pagedestSlot
- starting slot # of destination page to copy tonumRows
- the number of rows to be copiedsrcSlot
- starting slot number of source page to copy fromrecordIds
- an array of record ids to use in the
destination pageStandardException
- Standard Derby policy.void actionInvalidatePage(RawTransaction t, BasePage page) throws StandardException
Invalidate the page due to deallocation - this is the action on the page that is being deallocated as opposed to the action on the allocation page.
t
- The transactionpage
- that page to be invalidatedStandardException
- Standard Derby policy.void actionInitPage(RawTransaction t, BasePage page, int initFlag, int pageFormatId, long pageOffset) throws StandardException
Initialize the page due to allocation - this page could be brand new or it could be being re-allocated.
t
- The transactionpage
- that page to be initializedinitFlag
- flags set to values in BasePage.INIT_PAGE_*
which indicates how the new page is to be
initialized.pageFormatId
- The format Id of the page being initialized.StandardException
- Standard Derby policy.void actionShrinkReservedSpace(RawTransaction t, BasePage page, int slot, int recordId, int newValue, int oldValue) throws StandardException
Shrink the reserved space to the new value. This action is not undoable.
t
- The transactionpage
- that page to be initializedslot
- the slot number of the recordrecordId
- the recordID of the recordnewValue
- the new reserved space valueStandardException
- Unexpected exception from the implementationApache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.