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