org.apache.derby.impl.store.raw.data
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
 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 transaction
allocPage - the allocation page
pageNumber - the page to allocation or deallocation
doStatus - set the allocation status of the page this value
undoStatus - 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 transaction
allocPage - the allocation page whose next page chain needs to be changed
pageNumber - the next allocation page's number
pageOffset - 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 transaction
allocPage - 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.

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.