Interface Importer

  • All Superinterfaces:
    AutoCloseable, Closeable

    @ThreadSafe
    public interface Importer
    extends Closeable
    Allows to run an import. For performance reasons, imports are run without transactions.

    Since import is multi threaded, implementations must be thread-safe.

    • Method Detail

      • clearTree

        void clearTree​(TreeName treeName)
        Clear the tree whose name is provided. Ensure that an empty tree with the given name exists. If the tree already exists, all the data it contains will be deleted. If not, an empty tree will be created.
        Parameters:
        treeName - name of the tree to clear
      • put

        void put​(TreeName treeName,
                 ByteSequence key,
                 ByteSequence value)
        Creates a record with the provided key and value in the tree identified by the provided name. At the end of this method, the record is visible by read(TreeName, ByteSequence) and openCursor(TreeName) methods of this instance. The record is guaranteed to be persisted only after close().
        Parameters:
        treeName - the tree name
        key - the new record's key
        value - the new record's value
      • read

        ByteString read​(TreeName treeName,
                        ByteSequence key)
        Reads the record's value associated to the provided key, in the tree whose name is provided.
        Parameters:
        treeName - the tree name
        key - the record's key
        Returns:
        the record's value, or null if none exists
      • aborted

        default void aborted()
        Notifies this importer that the import failed or was cancelled, before close() runs: what the trees hold is an incomplete import that is going to be run again. Implementations doing work of their own in close() on the assumption that the data is final - refreshing the optimizer statistics of a database, for instance - can skip it. The default implementation does nothing.