Referencia de códigos de estado de GQL

Cuando ejecutas consultas GQL en Microsoft Fabric, recibes información de estado junto con el resultado. El código de estado público de la API de consultas y el GQLSTATUS canónico reportado por el motor de consultas no siempre son los mismos. Este artículo explica cómo usar ambos.

Consulta códigos de estado de la API

La API de consulta utiliza un pequeño conjunto de códigos en el campo principal status.code :

Código de estado de la API Meaning
00000 Completar con éxito al menos una fila de resultados.
00001 Finalización exitosa con resultado omitido. Reservado para futuros soportes DDL y DML.
01000 Una advertencia o condición informativa. Revisa la descripción y el diagnóstico.
02000 Actualmente no hay filas de resultados disponibles desde una consulta que produzca filas. Si el resultado contiene nextPage, la ejecución sigue en curso y puedes consultar el resultado.
42000 Un error de sintaxis, regla de acceso u otro error de consulta corregible por el usuario.
50000 Un error del sistema o de otro modo no clasificado.

Para un flujo amplio de control de aplicaciones, utiliza status.code. No analizes la descripción del estado porque su texto puede variar.

Motor de consulta canónico GQLSTATUS

La API de consulta preserva el GQLSTATUS canónico del motor de consultas en el _graphaneGqlStatus miembro del diagnostics registro de cada objeto de estado:

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

Por ejemplo, el desbordamiento numérico y la división por cero son errores corregibles por el usuario, por lo que ambos usan 42000 como el archivo público status.code. El valor diagnóstico distingue el estado 22003 GQL canónico de 22012.

La siguiente tabla enumera los valores canónicos comunes de GQLSTATUS. El motor de consultas puede informar de valores adicionales para condiciones más específicas.

GQLSTATUS Meaning
00000 Finalización exitosa de consultas con al menos una fila.
00001 Finalización exitosa con resultado omitido.
02000 Condición de no tener datos para una consulta que produce filas.
01M11 Resultado incompleto. El resultado fue truncado.
22000 Excepción de datos generales. Este código puede aparecer como la causa de una condición primaria más específica.
22003 Valor numérico fuera de rango, incluyendo desbordamiento en un literal, operación, agregado o cast.
22012 División por cero
42000 Error general de sintaxis o violación de la regla de acceso.
G2000 Violación del tipo de grafo.

Los estados primarios, entradas en additionalStatuses, y estados anidados cause tienen cada uno su propio registro diagnóstico y estado GQL canónico.