Interface AllocationActions
-
- All Known Implementing Classes:
DirectAllocActions
,LoggableAllocActions
public interface AllocationActions
This interface describe the operations that has to do with page allocation/deallocation. This interface is used for a special allocation page that records the allocation information and dispense the allocation policy.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
actionAllocatePage(RawTransaction t, BasePage allocPage, long pageNumber, int doStatus, int undoStatus)
Set the allocation status of pageNumber to doStatus.void
actionChainAllocPage(RawTransaction t, BasePage allocPage, long pageNumber, long pageOffset)
Chain one allocation page to the next.void
actionCompressSpaceOperation(RawTransaction t, BasePage allocPage, int new_highest_page, int num_pages_truncated)
Compress free pages.
-
-
-
Method Detail
-
actionAllocatePage
void actionAllocatePage(RawTransaction t, BasePage allocPage, long pageNumber, int doStatus, int undoStatus) throws StandardException
Set the allocation status of pageNumber to doStatus. To undo this operation, set the allocation status of pageNumber to undoStatus- Parameters:
t
- The transactionallocPage
- the allocation pagepageNumber
- the page to allocation or deallocationdoStatus
- set the allocation status of the page this valueundoStatus
- on undo, set the allocation status of the page this value- Throws:
StandardException
- Standard Derby error policy
-
actionChainAllocPage
void actionChainAllocPage(RawTransaction t, BasePage allocPage, long pageNumber, long pageOffset) throws StandardException
Chain one allocation page to the next.- Parameters:
t
- The transactionallocPage
- the allocation page whose next page chain needs to be changedpageNumber
- the next allocation page's numberpageOffset
- the next allocation page's page offset- Throws:
StandardException
- Standard Derby error policy
-
actionCompressSpaceOperation
void actionCompressSpaceOperation(RawTransaction t, BasePage allocPage, int new_highest_page, int num_pages_truncated) throws StandardException
Compress free pages.Compress the free pages at the end of the range maintained by this allocation page. All pages being compressed should be FREE. Only pages in the last allocation page can be compressed.
- Parameters:
t
- The transactionallocPage
- the allocation page to do compress on.new_highest_page
- The new highest page on this allocation page. The number is the offset of the page in the array of pages maintained by this allocation page, for instance a value of 0 indicates all page except the first one are to be truncated. If all pages are truncated then the offset is set to -1.num_pages_truncated
- The number of allocated pages in this allocation page prior to the truncate. Note that all pages from NewHighestPage+1 through newHighestPage+num_pages_truncated should be FREE.- Throws:
StandardException
- Standard exception policy.
-
-