La librairie libecpg
contient principalement
des fonctions « cachées » qui sont utilisée pour implémenter
les fonctionnalités exprimées par les commandes SQL embarquées.
Mais il y a quelques fonctions qui peuvent être appelées directement
de façon utile. Notez que cela rendra votre code non-portable.
ECPGdebug(int
active les
traces de déboggage si appelé avec une valeur différente de 0 en
premier argument. La trace contient tous les ordres
SQL avec toutes les variables d'entrées insérées,
et les résultats du serveur PostgreSQL.
Cela peut être très utile quand vous êtes à la recherche d'erreurs
dans vos ordres SQL.
on
, FILE
*stream
)
Sous Windows, si les librairies ecpg et les
applications sont compilées avec des options différentes, cet appel de
fonction fera planter l'application parce que la représentation interne des
pointeurs FILE
diffère. En particulier,
les options multithreaded/single-threaded, release/debug, et static/dynamic
doivent être les mêmes pour la librairie et toutes les applications qui
l'utilisent.
ECPGget_PGconn(const char *
retourne le descripteur de connexion à la base de données de la librairie
identifié par le nom fourni. Si nom_connexion
)
nom_connexion
est positionné à
NULL
, le descripteur de connexion courant est retourné. Si aucun
descripteur de connexion ne peut être identifié, la fonction retourne NULL
.
Le descripteur de connexion retourné peut être utilisé pour appeler toute autre fonction
de la libpq, si nécessaire.
C'est une mauvaise idée de manipuler les descripteurs de connexion à la base de donnée faits par ecpg directement avec des routines de libpq.
ECPGtransactionStatus(const char *
retourne l'état de la transaction courante de la connexion identifiée par nom_connexion
)nom_connexion
.
Voyez Section 34.2 et la fonction de la libpq
PQtransactionStatus
pour les détails
à propos des codes d'état retournés.
ECPGstatus(int
retourne vrai si vous êtes connecté à une base et faux sinon.
lineno
,
const char* nom_connexion
)nom_connexion
peut valoir NULL
si une seule connexion est utilisée.