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
@@ -29,16 +29,17 @@ 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:
case CR_SERVER_LOST:
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) {
conn->state = state_disabled;
@@ -53,18 +54,17 @@ check_errno(struct dbrw_connection *conn)
case ER_BAD_HOST_ERROR:
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;
}
}
@@ -160,7 +160,7 @@ s_mysql_query(struct dbrw_connection *conn, const char *query)
for (i = 0; i < 10; i++) {
rc = mysql_query(&mp->mysql, query);
if (rc) {
- check_errno(conn);
+ check_errno(conn, query);
if (conn->state != state_init)
return -1;
sql_connect(conn);

Return to:

Send suggestions and report system problems to the System administrator.