35.11. Библиотечные функции
Библиотека libecpg в основном содержит «скрытые» функции, применяемые для реализации функциональности, выражаемой встраиваемыми командами SQL. Но есть также некоторые функции, которые можно вызывать напрямую. Заметьте, что код, задействующий эти функции, будет непереносимым.
- ECPGdebug(intс первым аргументом, отличным от нуля, включает вывод отладочных сообщений в заданный- вкл, FILE *- поток)- поток. Журнал сообщений, полученный таким образом, будет содержать все операторы SQL с заданными входными переменными и результаты, выданные сервером PostgreSQL. Это может быть очень полезно для поиска ошибок в командах SQL.- Примечание- В Windows, если библиотека ecpg и приложение скомпилированы с разными флагами, эта функция может вызвать крах приложения из-за различий внутреннего представления указателей - FILE. В частности, флаги многопоточной/однопоточной, выпускаемой/отладочной или статической/динамической сборки должны быть одинаковыми для библиотеки и всех использующих её приложений.
- ECPGget_PGconn(const char *возвращает указатель на подключение к базе данных, имеющее заданное имя. Если аргумент- имя_подключения)- имя_подключенияравен- NULL, возвращается указатель на текущее подключение. Если определить подключение не удаётся, возвращается- NULL. Полученный указатель на подключение, если требуется, можно использовать при вызове любых других функций libpq.- Примечание- Манипулировать подключениями, открытыми средствами ecpg, напрямую через libpq не следует. 
- ECPGtransactionStatus(const char *возвращает состояние текущей транзакции для подключения, на которое указывает- имя_подключения)- имя_подключения. Возвращаемые коды состояния перечислены в описании входящей в libpq функции- PQtransactionStatus()в Разделе 33.2.
- ECPGstatus(intвозвращает true при наличии подключения к базе данных и false в противном случае. В аргументе- номер_строки, const char*- имя_подключения)- имя_подключенияможно передать- NULL, если применяется одно подключение.