Documentation PostgreSQL 8.0.2 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 42. Protocole d'interface et de moteur | Avance rapide | Suivant |
Cette section décrit les champs qui pourraient apparaître dans les messages ErrorResponse et NoticeResponse. Chaque type de champ a un jeton d'identification sur un seul octet. Notez que le type de champ donné devrait apparaître au moins une fois par message.
Sévérité : le contenu du champ peut être soit ERROR, FATAL ou PANIC (dans un message d'erreur), soit WARNING, NOTICE, DEBUG, INFO ou LOG (dans un message d'avertissement), ou une traduction localisée pour un de ceux-ci. Toujours présent.
Code : le code SQLSTATE pour l'erreur (voir Annexe A). Non localisable. Toujours présent.
Message : le message d'erreur principal lisible par un humain. Ceci pourrait être précis mais court (typiquement une ligne). Toujours présent.
Détail : un message d'erreur secondaire et optionnel. Pourrait être sur plusieurs lignes.
Astuce : une suggestion optionnelle de ce qu'il faut faire pour le problème. Ceci a pour but de différer du Détail dans le fait qu'il offre un conseil (potentiellement inapproprié) plutôt que des faits réels. Pourrait être sur plusieurs lignes.
Position : la valeur du champ est un entier décimal ASCII, indiquant la position du curseur en erreur comme index dans la chaîne de requête originale. Le premier caractère a l'index 1 et les positions sont mesurées en caractères et non pas en octets.
Position interne : ceci est défini de la même façon que le champ P mais c'est utilisé quand la position du curseur se réfère à une commande générée en interne plutôt qu'une soumise par le client. Le champ q apparaîtra toujours quand ce champ apparaît.
Requête interne : le texte d'une commande générée en interne et qui a échoué. Ceci pourrait être, par exemple, une requête SQL lancée par une fonction PL/pgSQL.
Où : une indication du contexte dans lequel l'erreur est survenue. Actuellement, ceci inclut une trace de la pile des appels des fonctions actives de langages de procédures ou de requêtes générées en interne. Cette trace a une entrée par ligne, la plus récente en premier.
Fichier : le nom du fichier du code source où l'erreur est rapportée.
Ligne : le numéro de ligne du code source où l'erreur a été rapportée.
Routine : le nom de la routine dans le code source rapportant l'erreur.
Le client est responsable de formater l'information affichée d'une façon convenant à ses besoins ; en particulier en ajoutant des retours chariots sur les longues lignes si nécessaire. Les caractères de retour chariot apparaissant dans les champs de messages d'erreur devraient être traités comme des changements de paragraphes, pas comme des changements de lignes.
Précédent | Sommaire | Suivant |
Formats de message | Niveau supérieur | Résumé des modifications depuis le protocole 2.0 |