From: | François Figarola <francois(dot)figarola(at)i-consult(dot)fr> |
---|---|
To: | Alain <eurlix(dot)alain(at)free(dot)fr>, pgsql-fr <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Postgres status |
Date: | 2007-11-14 07:21:51 |
Message-ID: | 473AA20F.50208@i-consult.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Alain a écrit :
> Bonsoir,
>
> Merci pour la réponse.
>
> On Tue, 13 Nov 2007 16:38:25 +0100
> François Figarola <francois(dot)figarola(at)i-consult(dot)fr> wrote:
>
>
>> Vous pouvez interroger et naviguer dans les sources de postgresql ici :
>> http://doxygen.postgresql.org/
>>
>> La fonction est définie :
>> ExecStatusType PQresultStatus (const PGresult * res)
>>
>> Definition at line 2023 of file fe-exec.c.
>>
>> et l'énumération ExecStatusType :
>>
>> enum ExecStatusType
>> Enumerator:
>> 0 PGRES_EMPTY_QUERY
>> 1 PGRES_COMMAND_OK
>> 2 PGRES_TUPLES_OK
>> 3 PGRES_COPY_OUT
>> 4 PGRES_COPY_IN
>> 5 PGRES_BAD_RESPONSE
>> 6 PGRES_NONFATAL_ERROR
>> 7 PGRES_FATAL_ERROR
>>
>
> Si les valeurs indiquées en col. 1 sont ce qui est renvoyé par la fonction, ça me conviendrait assez.
> Quant a libpq-fe.h, j'ignore les valeurs numériques correspondant aux différents cas, donc je vais essayer d'utiliser ExecStatusType.
>
PQresultStatus renvoie effectivement une valeur du type ExecStatusType
déclarée comme étant une énumération,
dans la quelle la première valeur déclarée vaut 0 (PGRES_EMPTY_QUERY=0),
les autres s'incrémentant au fur
et à mesure des déclarations.
Donc, effectivement, les chiffres que j'ai mis en colonne de gauche
correspondent à la valeur de retour de cette
fonction si on la "cast" en entier.
De plus, la déclaration de cette énumération dans libpq-fe.h, comporte
nombre de commentaires qui explicitent
chacune de ces valeurs.
Je pense qu'une assez bonne pratique serait d'utiliser l'instruction
switch du C pour tester ces résultats :
switch (PQresultStatus(res))
{
case PGRES_EMPTY_QUERY : /* une requête vide a été exécutée */
... traitement ...
break;
case PGRES_COMMAND_OK : /* une requête ne retournant rien a
correctement été exécutée */
... traitement ...
break;
case PGRES_TUPLES_OK : /* la requête a été correctement exécutée
et la structure PGResult *res contient des tuples */
... traitement ...
break
case ...
/* etc, pour l'ensemble de l'énumération */
}
> Je ne suis pas très doué en C, et ça risque de prendre un certain temps !
>
C'est en forgeant ...
;-))
> Que faites vous comme job ? Internet Consult laisse supposer beaucoup de choses :
> Developpement/optimisation de sites internet.
> Avez-vous un site internet ?
>
> Cordialement,
>
Cordialement.
François Figarola.
--
INTERNET CONSULT
Mas Guerido
6 rue Aristide Bergès
66330 CABESTANY
Tel 04.68.66.09.29
fax 04.68.66.99.50
* francois(dot)figarola(at)i-consult(dot)fr
From | Date | Subject | |
---|---|---|---|
Next Message | Claude Castello | 2007-11-14 14:52:14 | Re: SQL ou plpgsql pour recherche journée travail |
Previous Message | Guillaume Lelarge | 2007-11-13 18:31:03 | Re: [pgsql-fr-generale] SQL ou plpgsql pour recherche journée travail |