Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$LIST_NAMESPACES_FROM_CATALOG

Lista os namespaces em um catálogo remoto Apache Iceberg™ REST (incluindo o Snowflake Open Catalog).

Consulte também:

Sintaxe

SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
  [ , '<parent_namespace>', <levels> ] )
Copy

Argumentos

Obrigatório:

catalog_integration_name

Identificador para integração de catálogo para Iceberg REST ou Snowflake Open Catalog.

Opcional:

parent_namespace

O identificador do namespace a partir do qual iniciar a listagem de namespaces. Para recuperar resultados para o nível 0 do namespace no catálogo, especifique uma cadeia de caracteres vazia ('').

Padrão: O namespace padrão para a integração do catálogo (CATALOG_NAMESPACE).

levels

Especifica o número de níveis a serem percorridos na hierarquia de namespace para listagem de namespaces filho.

Por exemplo:

  • Se definido como 0, a função retorna todos os namespaces, recursivamente, relativos ao parent_namespace.

  • Se definido como 1, a função retorna todos os namespaces um nível abaixo do parent_namespace.

  • Se definido como n, a função retorna namespaces com até n níveis de profundidade, em relação ao parent_namespace.

Padrão: 1

Retornos

Retorna uma cadeia de caracteres no formato JSON que lista namespaces no catálogo Iceberg REST para o namespace pai especificado e o número de níveis.

A cadeia de caracteres formatada em JSON tem a seguinte estrutura:

[
  "<namespace_identifier>",
  "<namespace_identifier_n>"
]
Copy

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

USAGE

Integração (catálogo)

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Exemplos

Liste apenas os namespaces diretamente sob o namespace padrão da integração do catálogo:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');
Copy

Liste todos os namespaces recursivamente no catálogo:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);
Copy

Liste apenas os namespaces um nível abaixo (diretamente abaixo) do namespace “db1”:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');
Copy

Liste os namespaces em três níveis sob o namespace “db1”:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1', 3);
Copy