Referência de códigos de status GQL

Quando você executa consultas GQL no Microsoft Fabric, recebe informações de status junto com o resultado. O código de status público da API de consulta 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 status da API

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

Código de status da API Meaning
00000 Conclusão bem-sucedida com pelo menos uma série de resultados.
00001 Conclusão bem-sucedida com resultado omitido. Reservado para suporte futuro a DDL e DML.
01000 Um aviso ou condição informativa. Inspecione a descrição e o diagnóstico.
02000 Atualmente, nenhuma linha de resultados está disponível a partir de uma consulta que produz linhas. Se o resultado contiver nextPage, a execução ainda está em andamento e você pode consultar o resultado.
42000 Um erro de sintaxe, regra de acesso ou outro erro de consulta corrigível pelo usuário.
50000 Um erro do sistema ou de outra forma não classificado.

Para um fluxo amplo de controle de aplicação, use status.code. Não analise a descrição do status porque o texto pode variar.

Mecanismo de consulta canônico GQLSTATUS

A API de consulta preserva o GQLSTATUS canônico do motor de consulta no _graphaneGqlStatus membro do diagnostics registro de cada objeto de status:

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

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

A tabela a seguir lista valores comuns canônicos 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 de não ter dados para uma consulta que produz linhas.
01M11 Resultado incompleto. O resultado foi truncado.
22000 Exceção geral de dados. Esse código pode aparecer como causa de uma condição primária mais específica.
22003 Valor numérico fora do alcance, incluindo overflow em 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 gráfico.

Status primário, entradas em additionalStatuses, e status aninhados cause têm cada um seu próprio registro diagnóstico e GQLSTATUS canônico.