Re: Postgres status

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

In response to

Browse pgsql-fr-generale by date

  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