aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mysql.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mysql.c b/src/mysql.c
index d97200a..1391743d 100644
--- a/src/mysql.c
+++ b/src/mysql.c
@@ -30,8 +30,10 @@ struct vmod_mysql_data
static void
-check_errno(struct dbrw_connection *conn)
+check_errno(struct dbrw_connection *conn, char const *query)
{
struct vmod_mysql_data *mp = conn->data;
+ dbrw_error("query failed: %s", query);
+ dbrw_error("%s", mysql_error(&mp->mysql));
switch (mysql_errno(&mp->mysql)) {
case CR_SERVER_GONE_ERROR:
@@ -39,5 +41,4 @@ check_errno(struct dbrw_connection *conn)
case ER_SERVER_SHUTDOWN:
case ER_ABORTING_CONNECTION:
- dbrw_error("query failed: %s", mysql_error(&mp->mysql));
sql_disconnect(conn);
if (conn->state == state_error) {
@@ -54,16 +55,15 @@ check_errno(struct dbrw_connection *conn)
case ER_BAD_TABLE_ERROR:
case ER_WRONG_FIELD_SPEC:
- case ER_PARSE_ERROR:
- case ER_EMPTY_QUERY:
case ER_FIELD_SPECIFIED_TWICE:
case ER_NO_SUCH_TABLE:
case ER_NOT_ALLOWED_COMMAND:
- dbrw_error("query failed: %s", mysql_error(&mp->mysql));
dbrw_error("disabling MySQL connection");
sql_disconnect(conn);
conn->state = state_disabled;
break;
+ case ER_EMPTY_QUERY:
+ case ER_PARSE_ERROR:
default:
- dbrw_error("query failed: %s", mysql_error(&mp->mysql));
+ break;
}
}
@@ -161,5 +161,5 @@ s_mysql_query(struct dbrw_connection *conn, const char *query)
rc = mysql_query(&mp->mysql, query);
if (rc) {
- check_errno(conn);
+ check_errno(conn, query);
if (conn->state != state_init)
return -1;

Return to:

Send suggestions and report system problems to the System administrator.