Categorias:

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

SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING

Quando um consumidor de uma listagem recompartilha os dados da listagem em outra região, o Snowflake cria tabelas dinâmicas ocultas para habilitar o preenchimento automático da listagem na região de destino. Esta função do sistema retorna informações sobre as tabelas dinâmicas ocultas que o Snowflake cria na exibição de saída para materializar os dados importados para recompartilhamento entre regiões.

Use esta função para:

  • Identificar quais objetos importados têm tabelas dinâmicas de suporte para uma determinada exibição de saída.

  • Inspecionar os tempos de atualização mais recentes dessas tabelas dinâmicas (para depuração ou análise de custo/integridade).

Consulte também:

Recompartilhamento de listagens

Sintaxe

SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING( '<view_name>' )

Argumentos

'view_name'

O nome da exibição de saída anexada a uma listagem ou compartilhamento do qual os dados importados estão sendo materializados automaticamente em tabelas dinâmicas ocultas para recompartilhamento.

É possível passar um nome de exibição totalmente qualificado, por exemplo:

SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING(
  'RESHARER_DB.PUBLIC.SHARED_VIEW'
);

Retornos

Retorna uma cadeia de caracteres JSON com uma matriz de objetos. Cada objeto representa uma tabela dinâmica oculta criada abaixo da exibição especificada para recompartilhamento:

Campo

Tipo

Descrição

dtName

STRING

O nome totalmente qualificado da tabela dinâmica oculta aninhada abaixo da exibição de saída (por exemplo, _<id>_IMPORTED_DB.SCHEMA.TABLE_DT_FOR_RESHARING).

dtSourceObject

STRING

O nome totalmente qualificado do objeto importado (por exemplo, IMPORTED_DB.SCHEMA.TABLE) que está sendo materializado na tabela dinâmica para recompartilhamento. Isso corresponde à entidade importada original referenciada na definição da exibição.

dtRefreshStartTimeMillis

NUMBER

O carimbo de data/hora da época em milissegundos de quando a atualização mais recente da tabela dinâmica foi iniciada. Nulo se não tiver ocorrido nenhuma atualização. Converta com TO_TIMESTAMP_LTZ(value:dtRefreshStartTimeMillis::number, 3).

dtRefreshEndTimeMillis

NUMBER

O carimbo de data/hora da época em milissegundos de quando a atualização mais recente da tabela dinâmica foi concluída. Nulo se não tiver ocorrido nenhuma atualização. Converta com TO_TIMESTAMP_LTZ(value:dtRefreshEndTimeMillis::number, 3).

status

STRING

O status da atualização mais recente. Nulo se não tiver ocorrido nenhuma atualização. Valores possíveis: SCHEDULED, EXECUTING, SUCCEEDED, FAILED, CANCELLED, UPSTREAM_FAILED. Para descrições de cada status, consulte a saída de DYNAMIC_TABLE_REFRESH_HISTORY.

Notas de uso

  • Nos cenários a seguir, as tabelas dinâmicas não são criadas e a função não retorna linhas:

    • A exibição não faz referência a nenhum banco de dados importado.

    • A exibição usa dados importados que não são elegíveis para recompartilhamento.

    • A exibição ainda não foi processada pelo preenchimento automático da listagem.

  • Esta função é destinada à observabilidade e depuração.

Exemplos

O exemplo a seguir recupera as tabelas dinâmicas criadas para uma exibição recompartilhada:

SELECT * FROM TABLE(FLATTEN(input =>
  PARSE_JSON(
    SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING(
      'RESHARER_DB.PUBLIC.SHARED_VIEW'
    )
  )
));

Para obter uma tabela legível com carimbos de data/hora adequados:

SELECT
  value:dtName::STRING AS dt_name,
  value:dtSourceObject::STRING AS dt_source_object,
  TO_TIMESTAMP_LTZ(value:dtRefreshStartTimeMillis::NUMBER, 3) AS dt_refresh_start_time,
  TO_TIMESTAMP_LTZ(value:dtRefreshEndTimeMillis::NUMBER, 3) AS dt_refresh_end_time,
  value:status::STRING AS status
FROM TABLE(FLATTEN(input =>
  PARSE_JSON(
    SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING(
      'RESHARER_DB.PUBLIC.SHARED_VIEW'
    )
  )
));

Exemplo de saída:

+----------------------------------------------------------+----------------------------+-------------------------------+-------------------------------+-------------------+
| DT_NAME                                                  | DT_SOURCE_OBJECT           | DT_REFRESH_START_TIME         | DT_REFRESH_END_TIME           | STATUS            |
+----------------------------------------------------------+----------------------------+-------------------------------+-------------------------------+-------------------+
| _12345_IMPORTED_DB.PUBLIC.TABLE_A_DT_FOR_RESHARING       | IMPORTED_DB.PUBLIC.TABLE_A | 2026-03-19 10:00:00.000 -0700 | 2026-03-19 10:00:05.000 -0700 | SUCCEEDED |
| _12345_IMPORTED_DB.PUBLIC.VIEW_B_DT_FOR_RESHARING        | IMPORTED_DB.PUBLIC.VIEW_B  | 2026-03-19 10:00:01.000 -0700 | 2026-03-19 10:00:04.000 -0700 | SUCCEEDED |
+----------------------------------------------------------+----------------------------+-------------------------------+-------------------------------+-------------------+