Referência de códigos de status GQL

Quando executa consultas GQL no Microsoft Fabric, recebe informação de estado juntamente com o resultado. O código de estado da API pública de consultas e o GQLSTATUS canónico reportado pelo motor de consulta nem sempre são os mesmos. Este artigo explica como usar ambos.

Consultar códigos de estado da API

A API de Consulta utiliza um pequeno conjunto de códigos no campo principal status.code :

Código de estado da API Meaning
00000 Conclusão bem-sucedida com pelo menos uma linha de resultados.
00001 Conclusão bem-sucedida com resultado omitido. Reservado para futuros suportes DDL e DML.
01000 Um aviso ou condição informativa. Inspeciona a descrição e o diagnóstico.
02000 Atualmente, não existem linhas de resultados disponíveis a partir de uma consulta que produz linhas. Se o resultado contiver nextPage, a execução ainda está em curso e pode consultar o resultado.
42000 Uma sintaxe, regra de acesso ou outro erro de consulta corrigível pelo utilizador.
50000 Um erro do sistema ou de outra forma não classificado.

Para um fluxo amplo de controlo de aplicações, use status.code. Não analises a descrição do estado porque o texto pode variar.

Motor de consulta canónico GQLSTATUS

A API de Consulta preserva o GQLSTATUS canónico do motor de consulta no _graphaneGqlStatus membro do diagnostics registo de cada objeto de estado:

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

Por exemplo, o excesso numérico e a divisão por zero são erros corrigíveis pelo utilizador, pelo que ambos usam 42000 como o público status.code. O valor diagnóstico distingue o GQLSTATUS 22003 canónico de 22012.

A tabela seguinte lista os valores canónicos comuns de GQLSTATUS. O motor de consulta pode reportar valores adicionais para condições mais específicas.

GQLSTATUS Meaning
00000 Conclusão bem-sucedida da consulta com pelo menos uma linha.
00001 Conclusão bem-sucedida com resultado omitido.
02000 Condição sem dados para uma consulta que produz linhas.
01M11 Resultado incompleto. O resultado foi truncado.
22000 Exceção geral de dados. Este código pode aparecer como causa de uma condição primária mais específica.
22003 Valor numérico fora do alcance, incluindo overflow num literal, operação, agregado ou cast.
22012 Divisão por zero.
42000 Erro geral de sintaxe ou violação da regra de acesso.
G2000 Violação do tipo de grafo.

Os estados primários, entradas em additionalStatuses, e estados aninhados cause têm cada um o seu próprio registo diagnóstico e GQLSTATUS canónico.