Class BaseSessionCatalog.AsCatalog

    • Method Detail

      • name

        public java.lang.String name()
        Description copied from interface: Catalog
        Return the name for this catalog.
        Specified by:
        name in interface Catalog
        Returns:
        this catalog's name
      • listTables

        public java.util.List<TableIdentifier> listTables​(Namespace namespace)
        Description copied from interface: Catalog
        Return all the identifiers under this namespace.
        Specified by:
        listTables in interface Catalog
        Parameters:
        namespace - a namespace
        Returns:
        a list of identifiers for tables
      • buildTable

        public Catalog.TableBuilder buildTable​(TableIdentifier ident,
                                               Schema schema)
        Description copied from interface: Catalog
        /** Instantiate a builder to either create a table or start a create/replace transaction.
        Specified by:
        buildTable in interface Catalog
        Parameters:
        ident - a table identifier
        schema - a schema
        Returns:
        the builder to create a table or start a create/replace transaction
      • registerTable

        public Table registerTable​(TableIdentifier ident,
                                   java.lang.String metadataFileLocation)
        Description copied from interface: Catalog
        Register a table with the catalog if it does not exist.
        Specified by:
        registerTable in interface Catalog
        Parameters:
        ident - a table identifier
        metadataFileLocation - the location of a metadata file
        Returns:
        a Table instance
      • tableExists

        public boolean tableExists​(TableIdentifier ident)
        Description copied from interface: Catalog
        Check whether table exists.
        Specified by:
        tableExists in interface Catalog
        Parameters:
        ident - a table identifier
        Returns:
        true if the table exists, false otherwise
      • loadTable

        public Table loadTable​(TableIdentifier ident)
        Description copied from interface: Catalog
        Load a table.
        Specified by:
        loadTable in interface Catalog
        Parameters:
        ident - a table identifier
        Returns:
        instance of Table implementation referred by tableIdentifier
      • dropTable

        public boolean dropTable​(TableIdentifier ident)
        Description copied from interface: Catalog
        Drop a table and delete all data and metadata files.
        Specified by:
        dropTable in interface Catalog
        Parameters:
        ident - a table identifier
        Returns:
        true if the table was dropped, false if the table did not exist
      • dropTable

        public boolean dropTable​(TableIdentifier ident,
                                 boolean purge)
        Description copied from interface: Catalog
        Drop a table; optionally delete data and metadata files.

        If purge is set to true the implementation should delete all data and metadata files.

        Specified by:
        dropTable in interface Catalog
        Parameters:
        ident - a table identifier
        purge - if true, delete all data and metadata files in the table
        Returns:
        true if the table was dropped, false if the table did not exist
      • invalidateTable

        public void invalidateTable​(TableIdentifier ident)
        Description copied from interface: Catalog
        Invalidate cached table metadata from current catalog.

        If the table is already loaded or cached, drop cached data. If the table does not exist or is not cached, do nothing.

        Specified by:
        invalidateTable in interface Catalog
        Parameters:
        ident - a table identifier
      • createNamespace

        public void createNamespace​(Namespace namespace,
                                    java.util.Map<java.lang.String,​java.lang.String> metadata)
        Description copied from interface: SupportsNamespaces
        Create a namespace in the catalog.
        Specified by:
        createNamespace in interface SupportsNamespaces
        Parameters:
        namespace - a multi-part namespace
        metadata - a string Map of properties for the given namespace
      • listNamespaces

        public java.util.List<Namespace> listNamespaces​(Namespace namespace)
        Description copied from interface: SupportsNamespaces
        List child namespaces from the namespace.

        For two existing tables named 'a.b.c.table' and 'a.b.d.table', this method returns:

        • Given: Namespace.empty()
        • Returns: Namespace.of("a")
        • Given: Namespace.of("a")
        • Returns: Namespace.of("a", "b")
        • Given: Namespace.of("a", "b")
        • Returns: Namespace.of("a", "b", "c") and Namespace.of("a", "b", "d")
        • Given: Namespace.of("a", "b", "c")
        • Returns: empty list, because there are no child namespaces
        Specified by:
        listNamespaces in interface SupportsNamespaces
        Returns:
        a List of child Namespace names from the given namespace
      • loadNamespaceMetadata

        public java.util.Map<java.lang.String,​java.lang.String> loadNamespaceMetadata​(Namespace namespace)
        Description copied from interface: SupportsNamespaces
        Load metadata properties for a namespace.
        Specified by:
        loadNamespaceMetadata in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        a string map of properties for the given namespace
      • setProperties

        public boolean setProperties​(Namespace namespace,
                                     java.util.Map<java.lang.String,​java.lang.String> updates)
        Description copied from interface: SupportsNamespaces
        Set a collection of properties on a namespace in the catalog.

        Properties that are not in the given map are not modified or removed by this method.

        Specified by:
        setProperties in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        updates - a collection of metadata to apply to the namespace
      • removeProperties

        public boolean removeProperties​(Namespace namespace,
                                        java.util.Set<java.lang.String> removals)
        Description copied from interface: SupportsNamespaces
        Remove a set of property keys from a namespace in the catalog.

        Properties that are not in the given set are not modified or removed by this method.

        Specified by:
        removeProperties in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        removals - a collection of metadata to apply to the namespace