summaryrefslogtreecommitdiffstats
path: root/util/db.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/db.c')
-rw-r--r--util/db.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util/db.c b/util/db.c
index 2da22a7..711cb4c 100644
--- a/util/db.c
+++ b/util/db.c
@@ -34,13 +34,14 @@ struct db_driver {
char *dst, const char *src, unsigned int len);
int (*execute)(struct ulogd_pluginstance *upi,
const char *stmt, unsigned int len);
- char (*strerror)(struct ulogd_pluginstance *upi);
+ char *(*strerror)(struct ulogd_pluginstance *upi);
};
struct db_instance {
char *stmt; /* buffer for our insert statement */
char *stmt_val; /* pointer to the beginning of the "VALUES" part */
char *stmt_ins; /* pointer to current inser position in statement */
+ char *schema;
time_t reconnect;
int (*interp)(struct ulogd_pluginstance *upi);
struct db_driver *driver;
@@ -358,7 +359,7 @@ static int __interp_db(struct ulogd_pluginstance *upi)
/* now we have created our statement, insert it */
- if (di->driver->execute(upi, di->stmt, strlen(di->stmt))) {
+ if (di->driver->execute(upi, di->stmt, strlen(di->stmt)) < 0) {
ulogd_log(ULOGD_ERROR, "sql error during insert: %s\n",
di->driver->strerror(upi));
return _init_db(upi);