PageActions
public class DirectActions extends java.lang.Object implements PageActions
Modifier and Type | Field | Description |
---|---|---|
protected ArrayInputStream |
limitIn |
|
protected DynamicByteArrayOutputStream |
outBytes |
Constructor | Description |
---|---|
DirectActions() |
Modifier and Type | Method | 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 needDataLogged) |
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.
|
protected DynamicByteArrayOutputStream outBytes
protected ArrayInputStream limitIn
public void actionDelete(RawTransaction t, BasePage page, int slot, int recordId, boolean delete, LogicalUndo undo) throws StandardException
PageActions
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.
actionDelete
in interface PageActions
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)
public 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
PageActions
MT - latched, page is latched when this methods is called.
actionUpdate
in interface PageActions
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)
public void actionPurge(RawTransaction t, BasePage page, int slot, int num_rows, int[] recordIds, boolean needDataLogged) throws StandardException
PageActions
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.
actionPurge
in interface PageActions
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)
public void actionUpdateField(RawTransaction t, BasePage page, int slot, int recordId, int fieldId, java.lang.Object newValue, LogicalUndo undo) throws StandardException
PageActions
MT - latched, page is latched when this methods is called.
actionUpdateField
in interface PageActions
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)
public 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
PageActions
MT - latched, page is latched when this methods is called.
actionInsert
in interface PageActions
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)
public void actionCopyRows(RawTransaction t, BasePage destPage, BasePage srcPage, int destSlot, int numRows, int srcSlot, int[] recordIds) throws StandardException
PageActions
Longer descrption of routine.
actionCopyRows
in interface PageActions
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.public void actionInvalidatePage(RawTransaction t, BasePage page) throws StandardException
PageActions
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.
actionInvalidatePage
in interface PageActions
t
- The transactionpage
- that page to be invalidatedStandardException
- Standard Derby policy.public void actionInitPage(RawTransaction t, BasePage page, int initFlag, int pageFormatId, long pageOffset) throws StandardException
PageActions
Initialize the page due to allocation - this page could be brand new or it could be being re-allocated.
actionInitPage
in interface PageActions
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.public void actionShrinkReservedSpace(RawTransaction t, BasePage page, int slot, int recordId, int newValue, int oldValue) throws StandardException
PageActions
Shrink the reserved space to the new value. This action is not undoable.
actionShrinkReservedSpace
in interface PageActions
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.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.