ecpg
Nome
ecpg -- pré-processador da linguagem SQL incorporada para a linguagem C
Sinopse
ecpg [opção...] arquivo...
Descrição
O utilitário ecpg é o pré-processador da linguagem SQL incorporada (embedded) para programas escritos na linguagem C. Converte programas C com declarações SQL incorporadas em código C normal, substituindo as chamadas ao SQL por chamadas a funções especiais. Os arquivos de saída podem, então, ser processados por qualquer cadeia de ferramentas do compilador C.
O ecpg converte cada arquivo de entrada especificado na linha de comando, no arquivo de saída C correspondente. De preferência, os arquivos de entrada devem possuir a extensão .pgc e, neste caso, a extensão é substituída por .c para determinar o nome do arquivo de saída. Se a extensão do arquivo de entrada não for .pgc, então o nome do arquivo de saída será gerado anexando .c ao nome completo do arquivo de entrada. O nome do arquivo de saída pode ser especificado por meio da opção -o.
Esta página de referência não descreve a linguagem SQL incorporada. Consulte o
Capítulo 30
para obter mais informações sobre este tópico.
Opções
O ecpg aceita os seguintes argumentos de linha de comando:
- -c
-
Gera, automaticamente, certos códigos C a partir do código SQL. Atualmente funciona para EXEC SQL TYPE.
- -C modo
-
Define o modo de compatibilidade. O modo pode ser INFORMIX ou INFORMIX_SE.
- -D símbolo
-
Define um símbolo do pré-processador C.
- -i
-
Analisa, também, os arquivos de inclusão do sistema.
- -I diretório
-
Especifica um caminho de inclusão adicional, utilizado para encontrar arquivos incluídos por meio de EXEC SQL INCLUDE. Por padrão os seguintes diretórios: . (o diretório corrente), /usr/local/include, o diretório de inclusão do PostgreSQL definido em tempo de compilação (por padrão /usr/local/pgsql/include) e /usr/include, nesta ordem.
- -o arquivo_de_saída
-
Especifica que o ecpg deve escrever toda a sua saída no arquivo_de_saída especificado.
- -r opção
-
Seleciona um comportamento em tempo de execução. Atualmente opção pode ser apenas no_indicator.
- -t
-
Ativa a auto-efetivação (auto-commit) das transações. Neste modo, cada comando SQL é automaticamente efetivado, a não ser que esteja dentro de um bloco de transação explícito. No modo padrão, os comandos são efetivados somente quando é emitido EXEC SQL COMMIT.
- -v
-
Mostra informações adicionais, incluindo a versão e o caminho de inclusão.
- --help
-
Mostra um breve resumo da utilização e depois termina.
- --version
-
Mostra a informação da versão e depois termina.
Observações
Ao compilar arquivos com o código C pré-processado, o compilador necessita encontrar os arquivos de cabeçalho do ECPG no diretório de inclusão do PostgreSQL. Portanto, é necessário usar a opção -I ao chamar o compilador (por exemplo, -I/usr/local/pgsql/include).
Os programas escritos em C com comandos SQL incorporados necessitam da biblioteca libecpg para a ligação. Pode ser usado, por exemplo, as opções do ligador -L/usr/local/pgsql/lib -lecpg.
Os nomes destes diretórios, apropriados para a instalação, podem ser descobertos utilizando a aplicação
pg_config
.
Exemplos
Havendo um arquivo fonte C chamado prog1.pgc, com comandos SQL incorporados, pode ser criado um programa executável utilizando a seguinte seqüência 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