diff --git a/lib/MySQL_Logger.cpp b/lib/MySQL_Logger.cpp index d245ebe6d..28b538fb2 100644 --- a/lib/MySQL_Logger.cpp +++ b/lib/MySQL_Logger.cpp @@ -1460,7 +1460,9 @@ int MySQL_Logger::processEvents(SQLite3DB * statsdb , SQLite3DB * statsdb_disk) int rows_to_keep = maxInMemorySize - events.size(); if (current_rows > rows_to_keep) { int rows_to_delete = (current_rows - rows_to_keep); - string delete_stmt = "DELETE FROM stats_mysql_query_events ORDER BY id LIMIT " + to_string(rows_to_delete); + string query = "SELECT MAX(id) FROM (SELECT id FROM stats_mysql_query_events ORDER BY id LIMIT " + to_string(rows_to_delete) + ")"; + int maxIdToDelete = statsdb->return_one_int(query.c_str()); + string delete_stmt = "DELETE FROM stats_mysql_query_events WHERE id <= " + to_string(maxIdToDelete); statsdb->execute(delete_stmt.c_str()); } } diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index 1b3194d92..1b73bce69 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -9937,7 +9937,7 @@ void ProxySQL_Admin::stats___mysql_global() { free(query); } if (GloMyLogger != nullptr) { - const string prefix = "MySQL_Logger-"; + const string prefix = "MySQL_Logger_"; std::unordered_map metrics = GloMyLogger->getAllMetrics(); for (std::unordered_map::iterator it = metrics.begin(); it != metrics.end(); it++) { unsigned int l = strlen(a) + prefix.length() + it->first.length() + 32;