Catégories :

Fonctions système (Informations système)

SYSTEM$GET_DIRECTORY_TABLE_STATUS

Renvoie une liste d’enregistrements contenant le statut de cohérence de la table du répertoire pour des zones de préparation de votre compte. Le statut de cohérence indique si une table de répertoire sur une zone de préparation répliquée possède des informations sur (est cohérente avec) tous les fichiers répliqués sur la zone de préparation.

Voir aussi :

Réplication des zones de préparation, des canaux et de l’historique des chargements , Tables de répertoire

Syntaxe

$SYSTEM_GET_DIRECTORY_TABLE_STATUS( [ '<stage_name>' ] )
Copy

Arguments

Facultatif :

'stage_name'

Zone de préparation pour laquelle vous souhaitez obtenir le statut de cohérence de la table du répertoire. Lorsque vous spécifiez un nom de zone de préparation, la fonction renvoie une liste contenant un seul enregistrement pour la table du répertoire de cette zone de préparation.

Renvoie

Renvoie une liste des enregistrements de cohérence de la table du répertoire pour chaque zone de préparation de votre compte. La liste contient un maximum de 10 000 enregistrements. Si vous spécifiez un argument 'stage_name', la fonction renvoie une liste contenant un seul enregistrement pour la table du répertoire sur cette zone de préparation.

Les enregistrements sont au format JSON et contiennent les paires nom/valeur suivantes :

{
  "stage" : "STAGE1",
  "status" : "INCONSISTENT"
}

Où :

stage

La zone de préparation sur laquelle la table du répertoire est activée.

status

Statut de cohérence de la table du répertoire. CONSISTENT si la table du répertoire est entièrement cohérente avec le contenu répliqué sur la zone de préparation ; INCONSISTENT dans le cas contraire. Un statut de INCONSISTENT signifie que Snowflake ne peut pas vérifier la cohérence, et que la table de répertoire peut manquer d’informations sur certains fichiers qui existent sur la zone de préparation.

Notes sur l’utilisation

  • Pour appeler cette fonction, vous devez utiliser un rôle qui bénéficie ou hérite du privilège READ sur la ou les zones de préparation pour lesquelles vous souhaitez récupérer le statut de cohérence.

  • Pour mettre à jour le statut de cohérence de INCONSISTENT à CONSISTENT, effectuez une actualisation complète à l’aide de la commande ALTER STAGE… REFRESH.

Exemples

L’exemple suivant permet d’obtenir une liste des statuts de cohérence pour les zones de préparation dans le compte :

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS();
Copy

Sortie :

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  },
  {
    "stage" : "STAGE2",
    "status" : "INCONSISTENT"
  }
]

L’exemple suivant permet de récupérer un statut de cohérence pour une zone de préparation nommée stage1:

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS('stage1');
Copy

Sortie :

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  }
]