IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

33.14. Fonctions de bibliothèque

La bibliothèque libecpg contient principalement des fonctions « cachées » utilisées pour coder les fonctionnalités exprimées par les commandes SQL embarquées. Mais il existe quelques fonctions qu'il peut être utile d'appeler directement. Cela a toutefois des conséquences sur la portabilité du code.

  • ECPGdebug(int on, FILE *flux) active le débogage si elle est appelée avec une valeur différente de zéro pour le premier argument. Les traces de débogage sont envoyées sur le flux. Les traces contiennent toutes les instructions SQL avec toutes les variables en entrée et les résultats du serveur PostgreSQL™. Cela peut être très utile pour rechercher des erreurs dans les instructions SQL.

    [Note]

    Note

    Sur Windows, si les bibliothèques ecpg et une application sont compilées avec des options différentes, cet appel de fonction arrête brutalement l'application car la représentation interne des pointeurs FILE diffère. En particulier, les options multi-threaded/single-threaded, release/debug et static/dynamic doivent être identiques pour la bibliothèque et pour toutes les applications qui utilisent cette bibliothèque.

  • ECPGget_PGconn(const char *connection_name) renvoie un lien vers la connexion à la base de données d'après le nom de la connexion. Si connection_name vaut NULL, le lien courant est renvoyé. Si aucun lien ne peut être identifié, la fonction renvoie NULL. Le lien de la connexion renvoyé peut être utilisé pour appeler toute autre fonction de la bibliothèque libpq, si nécessaire.

    [Note]

    Note

    C'est généralement une mauvaise idée que de manipuler les liens de connexions à la base de données à partir d'ecpg directement avec des routines de la bibliothèque libpq.

  • ECPGtransactionStatus(const char *connection_name) renvoie l'état de la transactions en cours sur la connexion identifiée par son nom via l'argument connection_name. Voir Section 31.2, « Fonctions de statut de connexion » et la fonction PQtransactionStatus() de la bibliothèque libpq pour des détails sur les codes de statut renvoyés.

  • ECPGstatus(int no_ligne, const char* nom_connexion) retourne vrai si une connexion à une base de données est active, faux sinon. nom_connexion peut être NULL si une seule connexion est utilisée.