PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 16.4 » Interfaces client » ECPG -- SQL embarqué en C » Fonctions de la Librairie

36.11. Fonctions de la Librairie #

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 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.

    Note

    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 descripteur 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.

    Note

    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 34.2 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) retourne vrai si vous êtes connecté à une base et faux sinon. nom_connexion peut valoir NULL si une seule connexion est utilisée.