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 Details

    • 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.