Top Description Methods
org.apache.derby.impl.store.raw.data

public Interface AllocationActions

Known Direct Implementers
org.apache.derby.impl.store.raw.data.DirectAllocActions, org.apache.derby.impl.store.raw.data.LoggableAllocActions
Imports
org.apache.derby.iapi.store.raw.xact.RawTransaction, org.apache.derby.shared.common.error.StandardException

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

Modifier and TypeMethod and Description
public void
actionAllocatePage(RawTransaction
The transaction
t
,
BasePage
the allocation page
allocPage
,
long
the page to allocation or deallocation
pageNumber
,
int
set the allocation status of the page this value
doStatus
,
int
on undo, set the allocation status of the page this value
undoStatus
)

Set the allocation status of pageNumber to doStatus.

public void
actionChainAllocPage(RawTransaction
The transaction
t
,
BasePage
the allocation page whose next page chain needs to be changed
allocPage
,
long
the next allocation page's number
pageNumber
,
long
the next allocation page's page offset
pageOffset
)

Chain one allocation page to the next.

public void
actionCompressSpaceOperation(RawTransaction
The transaction
t
,
BasePage
the allocation page to do compress on.
allocPage
,
int
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.
new_highest_page
,
int
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.
num_pages_truncated
)

Compress free pages.

Method Detail

actionAllocatePageback to summary
public 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:RawTransaction

The transaction

allocPage:BasePage

the allocation page

pageNumber:long

the page to allocation or deallocation

doStatus:int

set the allocation status of the page this value

undoStatus:int

on undo, set the allocation status of the page this value

Exceptions
StandardException:
Standard Derby error policy
actionChainAllocPageback to summary
public void actionChainAllocPage(RawTransaction t, BasePage allocPage, long pageNumber, long pageOffset) throws StandardException

Chain one allocation page to the next.

Parameters
t:RawTransaction

The transaction

allocPage:BasePage

the allocation page whose next page chain needs to be changed

pageNumber:long

the next allocation page's number

pageOffset:long

the next allocation page's page offset

Exceptions
StandardException:
Standard Derby error policy
actionCompressSpaceOperationback to summary
public 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:RawTransaction

The transaction

allocPage:BasePage

the allocation page to do compress on.

new_highest_page:int

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:int

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.

Exceptions
StandardException:
Standard exception policy.