Class LoggableActions
- java.lang.Object
-
- org.apache.derby.impl.store.raw.data.LoggableActions
-
- All Implemented Interfaces:
PageActions
public class LoggableActions extends java.lang.Object implements PageActions
-
-
Constructor Summary
Constructors Constructor Description LoggableActions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionCopyRows(RawTransaction t, BasePage destPage, BasePage srcPage, int srcSlot, int numRows, int destSlot, 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.private void
doAction(RawTransaction t, BasePage page, Loggable lop)
-
-
-
Method Detail
-
actionDelete
public void actionDelete(RawTransaction t, BasePage page, int slot, int recordId, boolean delete, LogicalUndo undo) throws StandardException
Description copied from interface:PageActions
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.- Specified by:
actionDelete
in interfacePageActions
- 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
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
Description copied from interface:PageActions
Update record at the given slot with this row.
MT - latched, page is latched when this methods is called.- Specified by:
actionUpdate
in interfacePageActions
- 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
public void actionPurge(RawTransaction t, BasePage page, int slot, int num_rows, int[] recordIds, boolean logData) throws StandardException
Description copied from interface:PageActions
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.- Specified by:
actionPurge
in interfacePageActions
- 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
public void actionUpdateField(RawTransaction t, BasePage page, int slot, int recordId, int fieldId, java.lang.Object newValue, LogicalUndo undo) throws StandardException
Description copied from interface:PageActions
Update a field of the record at the given slot with this value.
MT - latched, page is latched when this methods is called.- Specified by:
actionUpdateField
in interfacePageActions
- 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
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
Description copied from interface:PageActions
Insert record at the given slot with this recordId.
MT - latched, page is latched when this methods is called.- Specified by:
actionInsert
in interfacePageActions
- 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
public void actionCopyRows(RawTransaction t, BasePage destPage, BasePage srcPage, int srcSlot, int numRows, int destSlot, int[] recordIds) throws StandardException
Description copied from interface:PageActions
Copy num_rows from srcPage into deestpage.Longer descrption of routine.
- Specified by:
actionCopyRows
in interfacePageActions
- Parameters:
t
- The transactiondestPage
- the destination pagesrcPage
- the source pagesrcSlot
- starting slot # of destination page to copy tonumRows
- the number of rows to be copieddestSlot
- 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
public void actionInvalidatePage(RawTransaction t, BasePage page) throws StandardException
Description copied from interface:PageActions
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.
- Specified by:
actionInvalidatePage
in interfacePageActions
- Parameters:
t
- The transactionpage
- that page to be invalidated- Throws:
StandardException
- Standard Derby policy.
-
actionInitPage
public void actionInitPage(RawTransaction t, BasePage page, int initFlag, int pageFormatId, long pageOffset) throws StandardException
Description copied from interface:PageActions
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.
- Specified by:
actionInitPage
in interfacePageActions
- 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
public void actionShrinkReservedSpace(RawTransaction t, BasePage page, int slot, int recordId, int newValue, int oldValue) throws StandardException
Description copied from interface:PageActions
Shrink the reserved space to the new value.Shrink the reserved space to the new value. This action is not undoable.
- Specified by:
actionShrinkReservedSpace
in interfacePageActions
- 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
-
doAction
private void doAction(RawTransaction t, BasePage page, Loggable lop) throws StandardException
- Throws:
StandardException
-
-