Documentation PostgreSQL 9.3.25 > Interfaces client > ECPG SQL embarqué en C > Fonctions de la Librairie | |
Traiter des Programmes en SQL Embarqué | Large Objects |
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 il y quelques fonctions qui peuvent être appelées directement de façon utile. Notez que cela rendre votre code non-portable.
ECPGdebug(int on, FILE *stream) 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.
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 *nom_connexion) retourne le descriteur de connexion à la base de données de la librairie identifié par le nom fourni. Si 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 *nom_connexion) retourne l'état de la transaction courante de la connexion identifiée par nom_connexion. Voyez Section 31.2, « Fonctions de statut de connexion » et la fonction de la libpq PQtransactionStatus() pour les détails à propos des codes d'état retournés.
ECPGstatus(int lineno, const char* nom_connexion) retoure vrai si vous êtes connecté à une base et faux sinon. nom_connexion peut valoir NULL si une seule connexion est utilisée.