static void report_last_result(struct PgSocket *db)
{
PGresult *res = db->last_result;
- if (res) {
- db->last_result = NULL;
+ if (!res)
+ return;
+ db->last_result = NULL;
+
+ switch (PQresultStatus(res)) {
+ default:
+ log_error("%s: %s", PQdb(db->con), PQresultErrorMessage(res));
+ case PGRES_COMMAND_OK:
+ case PGRES_TUPLES_OK:
+ case PGRES_COPY_OUT:
+ case PGRES_COPY_IN:
db->handler_func(db, db->handler_arg, PGS_RESULT_OK, res);
- PQclear(res);
}
+ PQclear(res);
}
/*
{
int res;
- log_debug("%s", q);
+ log_noise("%s", q);
res = PQsendQuery(db->con, q);
if (!res) {
conn_error(db, PGS_RESULT_BAD, "PQsendQuery");
{
int res;
- log_debug("%s", q);
+ log_noise("%s", q);
res = PQsendQueryParams(db->con, q, cnt, NULL, args, NULL, NULL, 0);
if (!res) {
conn_error(db, PGS_RESULT_BAD, "PQsendQueryParams");