Interface SupportsNamespaces

    • Method Detail

      • createNamespace

        default void createNamespace​(Namespace namespace)
        Create a namespace in the catalog.
        Parameters:
        namespace - a namespace. Namespace.
        Throws:
        AlreadyExistsException - If the namespace already exists
        java.lang.UnsupportedOperationException - If create is not a supported operation
      • createNamespace

        void createNamespace​(Namespace namespace,
                             java.util.Map<java.lang.String,​java.lang.String> metadata)
        Create a namespace in the catalog.
        Parameters:
        namespace - a multi-part namespace
        metadata - a string Map of properties for the given namespace
        Throws:
        AlreadyExistsException - If the namespace already exists
        java.lang.UnsupportedOperationException - If create is not a supported operation
      • listNamespaces

        default java.util.List<Namespace> listNamespaces()
        List top-level namespaces from the catalog.

        If an object such as a table, view, or function exists, its parent namespaces must also exist and must be returned by this discovery method. For example, if table a.b.t exists, this method must return ["a"] in the result array.

        Returns:
        an List of namespace Namespace names
      • loadNamespaceMetadata

        java.util.Map<java.lang.String,​java.lang.String> loadNamespaceMetadata​(Namespace namespace)
                                                                              throws NoSuchNamespaceException
        Load metadata properties for a namespace.
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        a string map of properties for the given namespace
        Throws:
        NoSuchNamespaceException - If the namespace does not exist (optional)
      • dropNamespace

        boolean dropNamespace​(Namespace namespace)
                       throws NamespaceNotEmptyException
        Drop a namespace. If the namespace exists and was dropped, this will return true.
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        true if the namespace was dropped, false otherwise.
        Throws:
        NamespaceNotEmptyException - If the namespace is not empty
      • setProperties

        boolean setProperties​(Namespace namespace,
                              java.util.Map<java.lang.String,​java.lang.String> properties)
                       throws NoSuchNamespaceException
        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.

        Parameters:
        namespace - a namespace. Namespace
        properties - a collection of metadata to apply to the namespace
        Throws:
        NoSuchNamespaceException - If the namespace does not exist (optional)
        java.lang.UnsupportedOperationException - If namespace properties are not supported
      • removeProperties

        boolean removeProperties​(Namespace namespace,
                                 java.util.Set<java.lang.String> properties)
                          throws NoSuchNamespaceException
        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.

        Parameters:
        namespace - a namespace. Namespace
        properties - a collection of metadata to apply to the namespace
        Throws:
        NoSuchNamespaceException - If the namespace does not exist (optional)
        java.lang.UnsupportedOperationException - If namespace properties are not supported
      • namespaceExists

        default boolean namespaceExists​(Namespace namespace)
        Checks whether the Namespace exists.
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        true if the Namespace exists, false otherwise