From 538850d5fdcb79ffa804b2d64791ec346c7fe69b Mon Sep 17 00:00:00 2001 From: Marius Tolzmann Date: Fri, 22 May 2015 14:38:36 +0200 Subject: [PATCH] mx_mysql: Improve error handling --- mx_mysql.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mx_mysql.c b/mx_mysql.c index 2d25f55..ece305c 100644 --- a/mx_mysql.c +++ b/mx_mysql.c @@ -234,6 +234,10 @@ static int mx__mysql_stmt_prepare(struct mx_mysql_stmt *stmt, char *statement) case CR_SERVER_GONE_ERROR: case CR_SERVER_LOST: return -(errno=EAGAIN); + + case ER_PARSE_ERROR: + mx__mysql_stmt_log_emerg(stmt); + return -(errno=EBADRQC); } mx__mysql_stmt_log_emerg(stmt); @@ -638,7 +642,7 @@ static inline int _mx_mysql_bind_validate(struct mx_mysql_bind *b) for (i=0; i < b->count; i++) { if (!(b->data[i].flags)) { - return -(errno=ENOENT); + return -(errno=EBADSLT); } } @@ -913,7 +917,7 @@ int mx_mysql_statement_execute(struct mx_mysql_stmt *stmt, unsigned long long *c res = _mx_mysql_bind_validate(&stmt->param); if (res < 0) { - mx_log_debug("ERROR: param not initialized completely."); + mx_log_crit("MxSQL: parameter list for prepared statement not initialized completely."); return res; }