Merge pull request 'fix(util): refs #7205 fix util.slowLog_prune' (!2293) from 7205-fixSlowLogPrune into master
gitea/salix/pipeline/head This commit looks good Details

Reviewed-on: #2293
Reviewed-by: Guillermo Bonet <guillermo@verdnatura.es>
This commit is contained in:
Juan Ferrer 2024-04-12 07:26:42 +00:00
commit 98ed2d0d37
1 changed files with 11 additions and 3 deletions

View File

@ -6,16 +6,24 @@ BEGIN
*/
DECLARE vSlowQueryLog INT DEFAULT @@slow_query_log;
DECLARE vSqlLogBin INT DEFAULT @@SESSION.sql_log_bin;
DECLARE vLogExists BOOL;
SET sql_log_bin = OFF;
SET GLOBAL slow_query_log = OFF;
RENAME TABLE `mysql`.`slow_log` TO `mysql`.`slow_log_temp`;
SELECT COUNT(*) > 0 INTO vLogExists
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME = 'slow_log';
DELETE FROM `mysql`.`slow_log_temp`
IF vLogExists THEN
DROP TEMPORARY TABLE IF EXISTS mysql.slow_log_temp;
RENAME TABLE mysql.slow_log TO mysql.slow_log_temp;
END IF;
DELETE FROM mysql.slow_log_temp
WHERE start_time < TIMESTAMPADD(WEEK, -1, util.VN_NOW());
RENAME TABLE `mysql`.`slow_log_temp` TO `mysql`.`slow_log`;
RENAME TABLE mysql.slow_log_temp TO mysql.slow_log;
SET GLOBAL slow_query_log = vSlowQueryLog;
SET sql_log_bin = vSqlLogBin;