Catégories :

Fonctions système (Informations système)

SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING

Lorsqu’un consommateur d’une annonce repartage les données de l’annonce dans une autre région, Snowflake crée des tables dynamiques masquées pour permettre l’exécution automatique des annonces dans la région cible. Cette fonction système renvoie des informations sur les tables dynamiques cachées que Snowflake crée sous la vue sortante pour matérialiser les données importées pour le repartage interrégional.

Utilisez cette fonction pour :

  • Identifier les objets importés qui ont des tables dynamiques de sauvegarde pour une vue sortante donnée.

  • Inspecter les heures d’actualisation les plus récentes de ces tables dynamiques (pour le débogage ou l’analyse coût/santé).

Voir aussi :

Repartage des annonces

Syntaxe

SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING( '<view_name>' )

Arguments

'view_name'

Le nom de la vue sortante associée à une annonce ou un partage dont les données importées sont automatiquement matérialisées dans des tables dynamiques masquées pour être repartagées.

Vous pouvez transmettre un nom de vue pleinement qualifié, par exemple :

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

Renvoie

Renvoie une chaîne JSON contenant un tableau d’objets. Chaque objet représente une table dynamique masquée créée sous la vue spécifiée pour le repartage :

Champ

Type

Description

dtName

STRING

Le nom pleinement qualifié de la table dynamique masquée imbriquée sous la vue sortante (par exemple, _<id>_IMPORTED_DB.SCHEMA.TABLE_DT_FOR_RESHARING).

dtSourceObject

STRING

Le nom pleinement qualifié de l’objet importé (par exemple, IMPORTED_DB.SCHEMA.TABLE) qui est matérialisé dans cette table dynamique pour être repartagé. Cela correspond à l’entité importée d’origine référencée dans la définition de la vue.

dtRefreshStartTimeMillis

NUMBER

L’horodatage en millisecondes du moment où l’actualisation la plus récente de cette table dynamique a commencé. Null si aucune actualisation n’a eu lieu. Convertir avec TO_TIMESTAMP_LTZ(value:dtRefreshStartTimeMillis::number, 3).

dtRefreshEndTimeMillis

NUMBER

L’horodatage en millisecondes du moment où l’actualisation la plus récente de cette table dynamique s’est terminée. Null si aucune actualisation n’a eu lieu. Convertir avec TO_TIMESTAMP_LTZ(value:dtRefreshEndTimeMillis::number, 3).

status

STRING

État de l’actualisation la plus récente. Null si aucune actualisation n’a eu lieu. Valeurs possibles : SCHEDULED, EXECUTING, SUCCEEDED, FAILED, CANCELLED, UPSTREAM_FAILED. Pour une description de chaque état, consultez la sortie DYNAMIC_TABLE_REFRESH_HISTORY.

Notes sur l’utilisation

  • Dans les scénarios suivants, les tables dynamiques ne sont pas créées et la fonction ne renvoie aucune ligne :

    • La vue ne fait référence à aucune base de données importée.

    • La vue utilise des données importées qui ne peuvent pas être repartagées.

    • La vue n’a pas encore été traitée par l’exécution automatique des annonces.

  • Cette fonction est destinée à l’observabilité et au débogage.

Exemples

L’exemple suivant récupère les tables dynamiques créées pour une vue repartagée :

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

Pour obtenir une table lisible avec des horodatages corrects :

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'
    )
  )
));

Exemple de sortie :

+----------------------------------------------------------+----------------------------+-------------------------------+-------------------------------+-------------------+
| 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 |
+----------------------------------------------------------+----------------------------+-------------------------------+-------------------------------+-------------------+