ecpg — preprocesador de SQL embebido para C
ecpg [opción...] archivo...
ecpg es el preprocesador de SQL embebido para
programas en C. Convierte programas en C con sentencias SQL embebidas en
código C normal al reemplazar las invocaciones SQL por llamadas a funciones
especiales. Los archivos de salida pueden entonces ser procesados con cualquier
cadena de herramientas de compilación de C.
ecpg convertirá cada archivo de entrada proporcionado en la
línea de comandos en el archivo de salida C correspondiente. Si el nombre de un archivo
de entrada no tiene ninguna extensión, se asume .pgc. La
extensión del archivo se reemplazará por .c para construir
el nombre del archivo de salida. Pero el nombre del archivo de salida se puede cambiar
usando la opción -o.
Si el nombre de un archivo de entrada es simplemente -,
ecpg lee el programa desde la entrada estándar
(y escribe en la salida estándar, a menos que eso se cambie
con -o).
Esta página de referencia no describe el lenguaje SQL embebido. Consulta la Chapter 34 para obtener más información sobre ese tema.
ecpg acepta los siguientes argumentos de línea de
comandos:
-c
Genera automáticamente cierto código C a partir de código SQL. Actualmente, esto
funciona para EXEC SQL TYPE.
-C modo
Establece un modo de compatibilidad. modo puede
ser INFORMIX,
INFORMIX_SE, u ORACLE.
-D símbolo[=valor]
Define un símbolo del preprocesador, de manera equivalente a la directiva EXEC SQL
DEFINE. Si no se especifica ningún valor,
el símbolo se define con el valor 1.
-h
Procesa archivos de cabecera. Cuando se especifica esta opción, la extensión del archivo
de salida pasa a ser .h en lugar de .c,
y la extensión del archivo de entrada por omisión es .pgh
en lugar de .pgc. Además, se fuerza la activación de la opción -c.
-iAnaliza también los archivos de inclusión del sistema.
-I directorio
Especifica una ruta de inclusión adicional, utilizada para buscar archivos incluidos
a través de EXEC SQL INCLUDE. Los valores por omisión son
. (directorio actual),
/usr/local/include, el
directorio de inclusión de PostgreSQL que
se define en el momento de la compilación (por omisión:
/usr/local/pgsql/include), y
/usr/include, en ese orden.
-o nombre-de-archivo
Especifica que ecpg debe escribir toda
su salida en el nombre-de-archivo dado.
Escribe -o - para enviar toda la salida a la salida estándar.
-r opción
Selecciona el comportamiento en tiempo de ejecución. opción puede ser
uno de los siguientes:
no_indicatorNo utilices indicadores sino valores especiales para representar valores nulos. Históricamente ha habido bases de datos que utilizaban este enfoque.
preparePrepara todas las sentencias antes de usarlas. Libecpg mantendrá una caché de sentencias preparadas y reutilizará una sentencia si se ejecuta de nuevo. Si la caché se llena, libecpg liberará la sentencia menos utilizada.
questionmarksPermite el signo de interrogación como marcador de posición por razones de compatibilidad. Esto solía ser el comportamiento por omisión hace mucho tiempo.
-t
Activa la confirmación automática (autocommit) de las transacciones. En este modo, cada comando SQL es
confirmado automáticamente a menos que esté dentro de un bloque de
transacción explícito. En el modo por omisión, los comandos se confirman
únicamente cuando se ejecuta EXEC SQL COMMIT.
-vMuestra información adicional, incluyendo la versión y la ruta de «inclusión» («include»).
--versionMuestra la versión de ecpg y sale.
-?--helpMuestra la ayuda sobre los argumentos de línea de comandos de ecpg y sale.
Al compilar los archivos de código C preprocesados, el compilador debe ser
capaz de encontrar los archivos de cabecera de ECPG en el
directorio de inclusión de PostgreSQL. Por lo tanto, es posible que
tengas que usar la opción -I al invocar el compilador
(por ejemplo, -I/usr/local/pgsql/include).
Los programas que utilizan código C con SQL embebido deben enlazarse con
la biblioteca libecpg, por ejemplo, utilizando las
opciones del enlazador -L/usr/local/pgsql/lib -lecpg.
El valor de cualquiera de estos directorios que sea apropiado para la instalación se puede averiguar utilizando la pg_config.
Si tienes un archivo fuente de C con SQL embebido llamado
prog1.pgc, puedes crear un programa
ejecutable utilizando la siguiente secuencia de comandos:
ecpg prog1.pgc cc -I/usr/local/pgsql/include -c prog1.c cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg