Errors and RWDBStatus
When an error or warning is generated by an Access Module call to the PostgreSQL libpq API, information about the event is retrieved via a call to PQerrorMessage() or PQresultErrorMessage()and PQresStatus(),and then transferred to an RWDBStatus. This RWDBStatus object is passed as a parameter to the installed error handler. The following list provides the format that RWDBStatus uses to describe events reported by the PostgreSQL libpq API:
*errorCode: RWDBStatus::serverError if an error or a warning occurred.
*message: "command failed" if an error or a warning occurred.
*vendorMessage1: the error message returned by the call to PQerrorMessage() or PQresultErrorMessage()
*vendorMessage2: the result status returned by PQresStatus()
*vendorError1: the result status returned by PQresultStatus()
An application can use the mapping shown previously to write an error handler that reports errors on cerr.
For example:
 
void myErrorHandler(const RWDBStatus & stat)
{
if (!stat.isValid()) {
cerr << stat.vendorMessage1() << endl;
cerr << stat.vendorMessage2() << endl;
}
 
All errors associated with the status will be reported.