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