From 3475f8a75f78d51aec0cdc997daae0b06ac6fb61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Fri, 14 Mar 2025 01:14:52 +0000 Subject: [PATCH] Port of PR #4822 to v3.0 --- lib/MySQL_Logger.cpp | 4 +++- lib/ProxySQL_Admin_Stats.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/MySQL_Logger.cpp b/lib/MySQL_Logger.cpp index e2e2f53cd..838380252 100644 --- a/lib/MySQL_Logger.cpp +++ b/lib/MySQL_Logger.cpp @@ -1463,7 +1463,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_Stats.cpp b/lib/ProxySQL_Admin_Stats.cpp index 2f1c4c442..4573da697 100644 --- a/lib/ProxySQL_Admin_Stats.cpp +++ b/lib/ProxySQL_Admin_Stats.cpp @@ -594,7 +594,7 @@ void ProxySQL_Admin::stats___mysql_global() { 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;