Informations de référence sur les codes d’état GQL

Lorsque vous lancez des requêtes GQL dans Microsoft Fabric, vous recevez des informations de statut avec le résultat. Le code d’état public de l’API de requête et le GQLSTATUS canonique rapporté par le moteur de requête ne sont pas toujours les mêmes. Cet article explique comment utiliser les deux.

Interroger les codes d’état de l’API

L’API de requête utilise un petit ensemble de codes dans le champ principal status.code :

Code d’état API Meaning
00000 Réussite avec au moins une ligne de résultats.
00001 Réussite avec un résultat omis. Réservé pour un futur support DDL et DML.
01000 Un avertissement ou une information sur la situation. Inspectez la description et les diagnostics.
02000 Aucune ligne de résultats n’est actuellement disponible à partir d’une requête générant des lignes. Si le résultat contient nextPage, l’exécution est toujours en cours et vous pouvez interroger le résultat.
42000 Une erreur de syntaxe, de règle d’accès ou d’autre erreur de requête corrigable par l’utilisateur.
50000 Une erreur système ou autrement non classifiée.

Pour un flux de contrôle d’application large, utilisez status.code. Ne trichez pas la description de statut car son texte peut varier.

Moteur de requête canonique GQLSTATUS

L’API de requête préserve le GQLSTATUS canonique du moteur de requête dans l’enregistrement _graphaneGqlStatus membre de chaque objet diagnostics d’état :

"_graphaneGqlStatus": {
  "gqlType": "STRING",
  "value": "22012"
}

Par exemple, le dépassement numérique et la division par zéro sont des erreurs corrigables par l’utilisateur, donc les deux utilisent 42000 comme le public status.code. La valeur diagnostique distingue le GQLSTATUS 22003 canonique de 22012.

Le tableau suivant liste les valeurs canoniques courantes de GQLSTATUS. Le moteur de requête peut rapporter des valeurs supplémentaires pour des conditions plus spécifiques.

GQLSTATUS Meaning
00000 Fin réussie de la requête avec au moins une ligne.
00001 Réussite avec un résultat omis.
02000 Condition sans données pour une requête générant des lignes.
01M11 Résultat incomplet. Le résultat a été tronqué.
22000 Exception générale aux données. Ce code peut apparaître comme la cause d’une affection primaire plus spécifique.
22003 Valeur numérique hors portée, incluant le débordement dans un littéral, une opération, un agrégat ou un cast.
22012 Division par zéro.
42000 Erreur générale de syntaxe ou violation de la règle d’accès.
G2000 Violation du type de graphe.

Les statuts primaires, les entrées dans additionalStatuses, et les statuts imbriqués cause ont chacun leur propre enregistrement diagnostique et un GQLSTATUS canonique.