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 *возвращает состояние текущей транзакции для подключения, на которое указываетимя_подключения)имя_подключения. О возвращаемых кодах состояния можно узнать в Раздел 33.2 и в описании входящей в libpq функцииPQtransactionStatus.ECPGstatus(intвозвращает true при наличии подключения к базе данных и false в противном случае. В аргументеномер_строки, const char*имя_подключения)имя_подключенияможно передатьNULL, если применяется одно подключение.