From ff40771291579d02b0c51d88fd63c41cffe5aa3a Mon Sep 17 00:00:00 2001 From: Michal Zander <mzander@syncad.com> Date: Thu, 20 Feb 2025 09:40:23 +0000 Subject: [PATCH] Remove hardcoded schema name from vacuum --- db/database_schema.sql | 22 ++++++++++++++++++++++ db/rep_helpers.sql | 18 ------------------ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/db/database_schema.sql b/db/database_schema.sql index 40e9e6b..257be36 100644 --- a/db/database_schema.sql +++ b/db/database_schema.sql @@ -70,6 +70,28 @@ CREATE TABLE IF NOT EXISTS active_votes PERFORM hive.app_register_table( __schema_name, 'active_votes', __schema_name ); + + EXECUTE format( + $BODY$ + CREATE OR REPLACE PROCEDURE %I.reptracker_process_blocks(_context_name hive.context_name, _block_range hive.blocks_range, _logs BOOLEAN = true) + LANGUAGE 'plpgsql' + AS + $pb$ + BEGIN + IF hive.get_current_stage_name(_context_name) = 'MASSIVE_PROCESSING' THEN + + CALL reptracker_massive_processing(_block_range.first_block, _block_range.last_block, _logs); + PERFORM hive.app_request_table_vacuum('%s.account_reputations', interval '10 minutes'); + PERFORM hive.app_request_table_vacuum('%s.active_votes', interval '10 minutes'); + PERFORM hive.app_request_table_vacuum('%s.permlinks', interval '100 minutes'); + RETURN; + END IF; + + CALL reptracker_single_processing(_block_range.first_block, _block_range.last_block, _logs); + END + $pb$ + $BODY$, __schema_name, __schema_name, __schema_name, __schema_name); + END $$; diff --git a/db/rep_helpers.sql b/db/rep_helpers.sql index ff8da79..6634067 100644 --- a/db/rep_helpers.sql +++ b/db/rep_helpers.sql @@ -61,24 +61,6 @@ END IF; END $$; -CREATE OR REPLACE PROCEDURE reptracker_process_blocks(_context_name hive.context_name, _block_range hive.blocks_range, _logs BOOLEAN = true) -LANGUAGE 'plpgsql' -AS -$$ -BEGIN - IF hive.get_current_stage_name(_context_name) = 'MASSIVE_PROCESSING' THEN - - CALL reptracker_massive_processing(_block_range.first_block, _block_range.last_block, _logs); - PERFORM hive.app_request_table_vacuum('reptracker_app.account_reputations', interval '10 minutes'); --eventually fixup hard-coded schema name - PERFORM hive.app_request_table_vacuum('reptracker_app.active_votes', interval '10 minutes'); --eventually fixup hard-coded schema nam - PERFORM hive.app_request_table_vacuum('reptracker_app.permlinks', interval '10 minutes'); --eventually fixup hard-coded schema name - RETURN; - END IF; - - CALL reptracker_single_processing(_block_range.first_block, _block_range.last_block, _logs); -END -$$; - CREATE OR REPLACE FUNCTION do_rep_indexes_exist() RETURNS BOOLEAN LANGUAGE 'plpgsql' VOLATILE -- GitLab