Interface RawContainerHandle

  • All Superinterfaces:
    ContainerHandle
    All Known Implementing Classes:
    BaseContainerHandle

    public interface RawContainerHandle
    extends ContainerHandle
    RawContainerHandle is the form of ContainerHandle that is used within the raw store. This allows the raw store to have a handle on dropped container without exposing this to the external interface, which is not allowed to get back a handle on a dropped container
    • Field Detail

      • NORMAL

        static final int NORMAL
        A container can be in 4 states: non_existent - this is represented by a null ContainerHandle NORMAL - this is the normal case, container has been created and is not dropped. DROPPED - container has been dropped, but is not known whether the drop has been committed or not COMMITTED_DROP - container has been dropped and has committed. To everyone else except recovery, this state is equivalent to NON_EXISTENT
        See Also:
        Constant Field Values
    • Method Detail

      • getContainerStatus

        int getContainerStatus()
                        throws StandardException
        Return the status of the container - one of NORMAL, DROPPED, COMMITTED_DROP.
        Throws:
        StandardException - Standard Derby exception policy
      • dropContainer

        void dropContainer​(LogInstant instant,
                           boolean drop)
                    throws StandardException
        If drop is true, drop the container. if drop is false, un-drop the container
        Throws:
        StandardException - Standard Derby exception policy
      • getAnyPage

        Page getAnyPage​(long pageNumber)
                 throws StandardException
        Return a Page that represents any page - alloc page, valid page, free page, dealloced page etc.
        Throws:
        StandardException - Standard Derby error policy
      • reCreatePageForRedoRecovery

        Page reCreatePageForRedoRecovery​(int pageFormat,
                                         long pageNumber,
                                         long pageOffset)
                                  throws StandardException
        ReCreate a page for redo recovery. Used during redo recovery while trying to apply log records which are creating the page.
        Throws:
        StandardException - Standard Derby error policy
      • logCreateContainerInfo

        ByteArray logCreateContainerInfo()
                                  throws StandardException
        Log all information necessary to recreate the container during a load tran.
        Throws:
        StandardException - Standard Derby error policy
      • preDirty

        void preDirty​(boolean preDirtyOn)
               throws StandardException
        The container is about to be modified. Loggable actions use this to make sure the container gets cleaned if a checkpoint is taken after any log record is sent to the log stream but before the container is actually dirtied.
        Throws:
        StandardException - Standard Derby error policy
      • encryptOrDecryptContainer

        void encryptOrDecryptContainer​(java.lang.String newFilePath,
                                       boolean doEncrypt)
                                throws StandardException
        Creates an encrypted or decrypted version of the container.
        Parameters:
        newFilePath - file to store the new version of the container
        doEncrypt - tells whether to encrypt or decrypt
        Throws:
        StandardException - Standard Derby error policy