diff --git a/lib/MySQL_Monitor.cpp b/lib/MySQL_Monitor.cpp index d33e60dde..be461164f 100644 --- a/lib/MySQL_Monitor.cpp +++ b/lib/MySQL_Monitor.cpp @@ -669,8 +669,8 @@ MySQL_Monitor::MySQL_Monitor() { monitordb->open((char *)"file:mem_monitordb?mode=memory&cache=shared", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX); admindb=new SQLite3DB(); - admindb->open((char *)"file:mem_admindb?mode=memory&cache=shared", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX); - + admindb->open((char *)"file:mem_admindb?mode=memory&cache=shared", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX); + admindb->execute("ATTACH DATABASE 'file:mem_monitordb?mode=memory&cache=shared' AS 'monitor'"); // define monitoring tables tables_defs_monitor=new std::vector; insert_into_tables_defs(tables_defs_monitor,"mysql_server_connect", MONITOR_SQLITE_TABLE_MYSQL_SERVER_CONNECT); @@ -1008,12 +1008,11 @@ __end_monitor_ping_loop: delete resultset; resultset=NULL; } - char *new_query=(char *)"SELECT 1 FROM (SELECT hostname,port FROM monitor.mysql_server_ping_log WHERE hostname='%s' AND port='%s' ORDER BY time_start DESC LIMIT %d) a GROUP BY hostname,port HAVING COUNT(*)=%d"; - for (j=0;iexecute_statement(buff, &error , &cols , &affected_rows , &resultset); - free(buff); if (!error) { if (resultset) { if (resultset->rows_count) { @@ -1023,7 +1022,10 @@ __end_monitor_ping_loop: delete resultset; resultset=NULL; } + } else { + proxy_error("Error on %s : %s\n", query, error); } + free(buff); } while (i) { // now free all the addresses/ports i--; diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index c9260ad5a..f7f9c00bb 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -801,8 +801,8 @@ int MySQL_Connection::async_query(short event, char *stmt, unsigned long length) || (parent->status==MYSQL_SERVER_STATUS_SHUNNED && parent->shunned_automatic==true && parent->shunned_and_kill_all_connections==true) // the server is SHUNNED due to a serious issue ) { - } return -1; + } switch (async_state_machine) { case ASYNC_QUERY_END: return 0;