ecpg

Nom

ecpg -- préprocesseur SQL embarqué pour le C

Synopsis

ecpg [option...] fichier...

Description

ecpg est le préprocesseur SQL embarqué pour les programmes C. Il convertit des programmes C avec des instructions SQL embarquées en du code C normal en remplaçant les appels au SQL avec les appels spéciaux de fonctions. Les fichiers en sortie peuvent être traités avec tout ensemble d'outils de compilation C.

ecpg convertit chaque fichier donné en entrée sur la ligne de commande en un fichier C correspondant. Les fichiers en entrées ont de préférence l'extension .pgc, auquel cas l'extension est remplacée par .c pour déterminer le nom de fichier en sortie. Si l'extension du fichier en entrée n'est pas .pgc, alors le nom de fichier en sortie est calculé en ajoutant .c au nom complet du fichier. Le nom de fichier en sortie peut aussi être surchargé en utilisant l'option -o.

Cette page de référence ne décrit pas le langage SQL embarqué. Voir Chapitre 29 pour plus d'informations sur ce thème.

Options

ecpg accepte les arguments suivants en ligne de commande :

-c

Génère automatiquement certain code C à partir de code SQL. Actuellement, ceci fonctionne pour EXEC SQL TYPE.

-C mode

Initialise un mode de compatibilité. mode peut être soit INFORMIX soit INFORMIX_SE.

-D symbol

Définit un symbole pour le préprocesseur C.

-i

Analyse aussi les fichiers d'en-tête du système.

-I répertoire

Spécifie un chemin d'inclusion supplémentaire, utilisé pour trouver les fichiers inclus via EXEC SQL INCLUDE. Par défaut, il s'agit de . (répertoire actuel), /usr/local/include, du répertoire d'en-tête de PostgreSQL qui a été défini au moment de la compilation (par défaut : /usr/local/pgsql/include) puis de /usr/include dans cet ordre.

-o filename

Indique que ecpg doit écrire toute sa sortie dans le fichier spécifié.

-r option

Sélectionne un comportement en exécution. En même temps, option peut seulement valoir no_indicator.

-t

Active la validation automatique (autocommit) des transactions. Dans ce mode, chaque commande SQL est validée automatiquement sauf si elle est à l'intérieur d'un bloc de transaction explicite. Dans le mode par défaut, les commandes sont validées seulement lorsque EXEC SQL COMMIT est exécutée.

-v

Affiche des informations supplémentaires dont la version et le chemin des en-têtes.

--help

Affiche un bref résumé de l'utilisation de la commande puis quitte

--version

Affiche la version puis quitte.

Notes

Lors de la compilation de fichiers de code C prétraités, le compilateur a besoin d'être capable de trouver les fichiers d'en-tête ECPG dans le répertoire des en-têtes de PostgreSQL. Du coup, il fait généralement utiliser l'option -I lors de l'appel du compilateur (c'est-à-dire -I/usr/local/pgsql/include).

Les programmes C utilisant du SQL embarqué doivent être liés avec la bibliothèque libecpg, par exemple en utilisant les options de l'éditeur de liens -L/usr/local/pgsql/lib -lecpg.

La valeur réelle des répertoires correspondant à votre installation peut être trouvée en utilisant pg_config.

Exemples

si vous avez un fichier source en SQL C embarqué nommé prog1.pgc, vous pouvez créer un programme exécutable en utilisant la séquence de commandes suivante :

ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg