The libecpg library primarily contains "hidden" functions that are used to implement the functionality expressed by the embedded SQL commands. But there are some functions that can usefully be called directly. Note that this makes your code unportable.
ECPGdebug(int on, FILE *stream) turns on debug logging
if called with the first argument non-zero. Debug logging is
done on stream. The log
contains all SQL
statements with all the input variables inserted, and the
results from the PostgreSQL
server. This can be very useful when searching for errors in
your SQL statements.
Note: On Windows, if the ecpg libraries and an application are compiled with different flags, this function call will crash the application because the internal representation of the FILE pointers differ. Specifically, multithreaded/single-threaded, release/debug, and static/dynamic flags should be the same for the library and all applications using that library.
returns the library database connection handle identified by
the given name. If connection_name is set to NULL, the current connection handle is
returned. If no connection handle can be identified, the
function returns NULL. The returned
connection handle can be used to call any other functions
from libpq, if
Note: It is a bad idea to manipulate database connection handles made from ecpg directly with libpq routines.
returns the current transaction status of the given
connection identified by connection_name. See Section 31.2 and libpq's
PQtransactionStatus() for details about the
returned status codes.
ECPGstatus(int lineno, const char* connection_name) returns true if
you are connected to a database and false if not. connection_name can be NULL if a single connection is being used.