summaryrefslogtreecommitdiffstats
path: root/output/pgsql/ulogd_output_PGSQL.c
diff options
context:
space:
mode:
Diffstat (limited to 'output/pgsql/ulogd_output_PGSQL.c')
-rw-r--r--output/pgsql/ulogd_output_PGSQL.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/output/pgsql/ulogd_output_PGSQL.c b/output/pgsql/ulogd_output_PGSQL.c
index 0bb812a..74ce032 100644
--- a/output/pgsql/ulogd_output_PGSQL.c
+++ b/output/pgsql/ulogd_output_PGSQL.c
@@ -149,12 +149,15 @@ static int get_columns_pgsql(struct ulogd_pluginstance *upi)
pi->pgres = PQexec(pi->dbh, pgbuf);
if (!pi->pgres) {
- ulogd_log(ULOGD_DEBUG, "result false");
+ ulogd_log(ULOGD_DEBUG, "result false (%s)",
+ PQerrorMessage(pi->dbh));
return -1;
}
if (PQresultStatus(pi->pgres) != PGRES_TUPLES_OK) {
- ulogd_log(ULOGD_DEBUG, "pres_command_not_ok");
+ ulogd_log(ULOGD_DEBUG, "pres_command_not_ok (%s)",
+ PQerrorMessage(pi->dbh));
+ PQclear(pi->pgres);
return -1;
}
@@ -168,6 +171,7 @@ static int get_columns_pgsql(struct ulogd_pluginstance *upi)
if (!upi->input.keys) {
upi->input.num_keys = 0;
ulogd_log(ULOGD_ERROR, "ENOMEM\n");
+ PQclear(pi->pgres);
return -ENOMEM;
}
@@ -255,6 +259,8 @@ static int open_db_pgsql(struct ulogd_pluginstance *upi)
pi->dbh = PQconnectdb(connstr);
if (PQstatus(pi->dbh) != CONNECTION_OK) {
+ ulogd_log(ULOGD_ERROR, "unable to connect to db (%s): %s\n",
+ connstr, PQerrorMessage(pi->dbh));
close_db_pgsql(upi);
return -1;
}
@@ -281,25 +287,21 @@ static int execute_pgsql(struct ulogd_pluginstance *upi,
struct pgsql_instance *pi = (struct pgsql_instance *) upi->private;
pi->pgres = PQexec(pi->dbh, stmt);
- if (!pi->pgres || PQresultStatus(pi->pgres) != PGRES_COMMAND_OK)
+ if (!pi->pgres || PQresultStatus(pi->pgres) != PGRES_COMMAND_OK) {
+ ulogd_log(ULOGD_ERROR, "execute failed (%s)\n",
+ PQerrorMessage(pi->dbh));
return -1;
+ }
return 0;
}
-static char *strerror_pgsql(struct ulogd_pluginstance *upi)
-{
- struct pgsql_instance *pi = (struct pgsql_instance *) upi->private;
- return PQresultErrorMessage(pi->pgres);
-}
-
static struct db_driver db_driver_pgsql = {
.get_columns = &get_columns_pgsql,
.open_db = &open_db_pgsql,
.close_db = &close_db_pgsql,
.escape_string = &escape_string_pgsql,
.execute = &execute_pgsql,
- .strerror = &strerror_pgsql,
};
static int configure_pgsql(struct ulogd_pluginstance *upi,