Interface PageActions
-
- All Known Implementing Classes:
DirectActions
,LoggableActions
public interface PageActions
-
-
Method Summary
All Methods Instance Methods Abstract Methods 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 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.
-
-
-
Method Detail
-
actionDelete
void actionDelete(RawTransaction t, BasePage page, int slot, int recordId, boolean delete, LogicalUndo undo) throws StandardException
Set the Delete status of the record at the given slot.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.- Parameters:
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 necessary- Throws:
StandardException
- Standard Derby error policy- See Also:
Page.deleteAtSlot(int, boolean, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo)
-
actionUpdate
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
Update record at the given slot with this row.
MT - latched, page is latched when this methods is called.- Parameters:
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 row- Returns:
- the next column to update in the row or, -1 if the update has been completed.
- Throws:
StandardException
- Standard Derby error policy- See Also:
Page.updateAtSlot(int, java.lang.Object[], org.apache.derby.iapi.services.io.FormatableBitSet)
-
actionPurge
void actionPurge(RawTransaction t, BasePage page, int slot, int num_rows, int[] recordIds, boolean logData) throws StandardException
Purge the record at the given slot.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.- Parameters:
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)- Throws:
StandardException
- Standard Derby error policy- See Also:
Page.purgeAtSlot(int, int, boolean)
-
actionUpdateField
void actionUpdateField(RawTransaction t, BasePage page, int slot, int recordId, int fieldId, java.lang.Object newValue, LogicalUndo undo) throws StandardException
Update a field of the record at the given slot with this value.
MT - latched, page is latched when this methods is called.- Parameters:
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.- Throws:
StandardException
- Standard Derby error policy- See Also:
Page.updateFieldAtSlot(int, int, java.lang.Object, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo)
-
actionInsert
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
Insert record at the given slot with this recordId.
MT - latched, page is latched when this methods is called.- Parameters:
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 insertFlag- Throws:
StandardException
- Standard Derby error policy- See Also:
Page.insertAtSlot(int, java.lang.Object[], org.apache.derby.iapi.services.io.FormatableBitSet, org.apache.derby.iapi.store.access.conglomerate.LogicalUndo, byte, int)
-
actionCopyRows
void actionCopyRows(RawTransaction t, BasePage destPage, BasePage srcPage, int destSlot, int numRows, int srcSlot, int[] recordIds) throws StandardException
Copy num_rows from srcPage into deestpage.Longer descrption of routine.
- Parameters:
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 page- Throws:
StandardException
- Standard Derby policy.
-
actionInvalidatePage
void actionInvalidatePage(RawTransaction t, BasePage page) throws StandardException
Invalidate the page due to deallocation. Short one line description of routine.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.
- Parameters:
t
- The transactionpage
- that page to be invalidated- Throws:
StandardException
- Standard Derby policy.
-
actionInitPage
void actionInitPage(RawTransaction t, BasePage page, int initFlag, int pageFormatId, long pageOffset) throws StandardException
Initialize the page due to allocation.Initialize the page due to allocation - this page could be brand new or it could be being re-allocated.
- Parameters:
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.- Throws:
StandardException
- Standard Derby policy.
-
actionShrinkReservedSpace
void actionShrinkReservedSpace(RawTransaction t, BasePage page, int slot, int recordId, int newValue, int oldValue) throws StandardException
Shrink the reserved space to the new value.Shrink the reserved space to the new value. This action is not undoable.
- Parameters:
t
- The transactionpage
- that page to be initializedslot
- the slot number of the recordrecordId
- the recordID of the recordnewValue
- the new reserved space value- Throws:
StandardException
- Unexpected exception from the implementation
-
-