From 16b264d1f2c12d044bf54d462a2f804b12d05e19 Mon Sep 17 00:00:00 2001 From: juanmont Date: Fri, 15 Jun 2018 13:09:59 +0200 Subject: [PATCH] B #2144: Changed SQL query to delete only non federated logs (cherry picked from commit f0b260f77191666a2229c9702d262820f96e85a5) --- src/sql/LogDB.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sql/LogDB.cc b/src/sql/LogDB.cc index 3be7d9f540..81961b8629 100644 --- a/src/sql/LogDB.cc +++ b/src/sql/LogDB.cc @@ -581,7 +581,13 @@ int LogDB::purge_log() // keep the last "log_retention" records as well as those not applied oss << "DELETE FROM logdb WHERE timestamp > 0 AND log_index >= 0 " - << "AND fed_index = -1 AND log_index < " << delete_index; + << "AND fed_index = -1 AND log_index < (" + << " SELECT MIN(i.log_index) FROM (" + << " SELECT log_index FROM logdb WHERE fed_index = -1 AND" + << " timestamp > 0 AND log_index >= 0 " + << " ORDER BY log_index DESC LIMIT " << log_retention + << " ) AS i" + << ")"; if ( db->limit_support() ) {