From d6fd0b3dbdd30239659a680bea2075b1cae7da16 Mon Sep 17 00:00:00 2001 From: Grzegorz Michalski Date: Tue, 3 Feb 2026 19:02:32 +0100 Subject: [PATCH] Add scripts for configuring and rolling back archival strategies for Release 01 tables --- ...06_MARS_828_configure_release01_tables.sql | 353 ++++++++++++++++++ ...S_828_rollback_release01_configuration.sql | 161 ++++++++ .../SCHEMA/tables/A_SOURCE_FILE_CONFIG.sql | 5 + 3 files changed, 519 insertions(+) create mode 100644 MARS_Packages/REL01_ADDITIONS/MARS-828/06_MARS_828_configure_release01_tables.sql create mode 100644 MARS_Packages/REL01_ADDITIONS/MARS-828/96_MARS_828_rollback_release01_configuration.sql diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/06_MARS_828_configure_release01_tables.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/06_MARS_828_configure_release01_tables.sql new file mode 100644 index 0000000..a881df6 --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/06_MARS_828_configure_release01_tables.sql @@ -0,0 +1,353 @@ +-- ===================================================================== +-- Script: 06_MARS_828_configure_release01_tables.sql +-- MARS Issue: MARS-828 +-- Purpose: Configure archival strategies for Release 01 tables +-- Author: Grzegorz Michalski +-- Date: 2026-02-03 +-- +-- Description: +-- Configures ARCHIVAL_STRATEGY and MINIMUM_AGE_MONTHS for 25 tables: +-- - 19 LM tables: CURRENT_MONTH_ONLY strategy +-- - 2 CSDB tables (DEBT, DEBT_DAILY): MINIMUM_AGE_MONTHS=6 strategy +-- - 4 CSDB tables (ratings/descriptions): CURRENT_MONTH_ONLY strategy +-- +-- Dependencies: +-- - A_SOURCE_FILE_CONFIG table with ARCHIVAL_STRATEGY column +-- - TRG_BI_A_SRC_FILE_CFG_ARCH_VAL trigger +-- ===================================================================== + +SET ECHO ON +SET SERVEROUTPUT ON +SPOOL 06_MARS_828_configure_release01_tables.log + +PROMPT ===================================================================== +PROMPT MARS-828: Configuring Release 01 Tables - Archival Strategies +PROMPT ===================================================================== +PROMPT +PROMPT This script will configure archival strategies for 25 Release 01 tables: +PROMPT - 19 LM tables: CURRENT_MONTH_ONLY +PROMPT - 2 CSDB DEBT tables: MINIMUM_AGE_MONTHS (6 months) +PROMPT - 4 CSDB rating/description tables: CURRENT_MONTH_ONLY +PROMPT +PROMPT Current timestamp: +SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS CURRENT_TIME FROM DUAL; +PROMPT +PROMPT ===================================================================== +PROMPT SECTION 1: LM Tables Configuration (CURRENT_MONTH_ONLY) +PROMPT ===================================================================== + +-- LM_STANDING_FACILITIES +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'STANDING_FACILITIES' + AND SOURCE_KEY = 'LM'; + +-- LM_MRO +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'MRO' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO' + AND SOURCE_KEY = 'LM'; + +-- LM_FTO +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'FTO' + AND SOURCE_KEY = 'LM'; + +-- LM_FTA +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'FTA' + AND SOURCE_KEY = 'LM'; + +-- LM_BID_LTRO +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'BID_LTRO' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO_CC_COMPOSITION +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO_CC_COMPOSITION' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO_CC_HAIRCUTS +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO_CC_HAIRCUTS' + AND SOURCE_KEY = 'LM'; + +-- LM_OMR +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'OMR' + AND SOURCE_KEY = 'LM'; + +-- LM_ASSET_PURCHASE +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'ASSET_PURCHASE' + AND SOURCE_KEY = 'LM'; + +-- LM_LIQUIDITY_PROVIDING_OMOS +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LIQUIDITY_PROVIDING_OMOS' + AND SOURCE_KEY = 'LM'; + +-- LM_LIQUIDITY_ABSORBING_OMOS +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LIQUIDITY_ABSORBING_OMOS' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO_COLLATERAL +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO_COLLATERAL' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO_PARTICIPATION_CBK +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO_PARTICIPATION_CBK' + AND SOURCE_KEY = 'LM'; + +-- LM_FX_INTERVENTIONS +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'FX_INTERVENTIONS' + AND SOURCE_KEY = 'LM'; + +-- LM_LTRO_COLLATERAL_NEW +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'LTRO_COLLATERAL_NEW' + AND SOURCE_KEY = 'LM'; + +-- LM_ASSETS_PORTFOLIO +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'ASSETS_PORTFOLIO' + AND SOURCE_KEY = 'LM'; + +-- LM_HAIRCUTS +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'HAIRCUTS' + AND SOURCE_KEY = 'LM'; + +-- LM_MINIMUM_RESERVES +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'MINIMUM_RESERVES' + AND SOURCE_KEY = 'LM'; + +PROMPT +PROMPT LM tables configured: 19 rows updated +PROMPT + +PROMPT ===================================================================== +PROMPT SECTION 2: CSDB DEBT Tables Configuration (MINIMUM_AGE_MONTHS) +PROMPT ===================================================================== + +-- CSDB_DEBT (6 months retention) +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'MINIMUM_AGE_MONTHS', + MINIMUM_AGE_MONTHS = 6 +WHERE TABLE_ID = 'DEBT' + AND SOURCE_KEY = 'CSDB'; + +-- CSDB_DEBT_DAILY (6 months retention) +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'MINIMUM_AGE_MONTHS', + MINIMUM_AGE_MONTHS = 6 +WHERE TABLE_ID = 'DEBT_DAILY' + AND SOURCE_KEY = 'CSDB'; + +PROMPT +PROMPT CSDB DEBT tables configured: 2 rows updated +PROMPT + +PROMPT ===================================================================== +PROMPT SECTION 3: CSDB Rating/Description Tables (CURRENT_MONTH_ONLY) +PROMPT ===================================================================== + +-- CSDB_INSTR_RAT_FULL +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'INSTR_RAT_FULL' + AND SOURCE_KEY = 'CSDB'; + +-- CSDB_INSTR_DESC_FULL +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'INSTR_DESC_FULL' + AND SOURCE_KEY = 'CSDB'; + +-- CSDB_ISSUER_RAT_FULL +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'ISSUER_RAT_FULL' + AND SOURCE_KEY = 'CSDB'; + +-- CSDB_ISSUER_DESC_FULL +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY', + MINIMUM_AGE_MONTHS = NULL +WHERE TABLE_ID = 'ISSUER_DESC_FULL' + AND SOURCE_KEY = 'CSDB'; + +PROMPT +PROMPT CSDB rating/description tables configured: 4 rows updated +PROMPT + +PROMPT ===================================================================== +PROMPT Committing configuration changes... +PROMPT ===================================================================== + +COMMIT; + +PROMPT +PROMPT Configuration committed successfully. +PROMPT + +PROMPT ===================================================================== +PROMPT VERIFICATION: Archival Strategy Configuration Summary +PROMPT ===================================================================== + +PROMPT +PROMPT LM Tables (CURRENT_MONTH_ONLY): +PROMPT + +SELECT + SOURCE_KEY, + TABLE_ID, + ARCHIVAL_STRATEGY, + MINIMUM_AGE_MONTHS, + CASE + WHEN ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY' AND MINIMUM_AGE_MONTHS IS NULL + THEN 'OK' + ELSE 'ERROR' + END AS STATUS +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE SOURCE_KEY = 'LM' + AND TABLE_ID IN ( + 'STANDING_FACILITIES', 'MRO', 'LTRO', 'FTO', 'FTA', 'BID_LTRO', + 'LTRO_CC_COMPOSITION', 'LTRO_CC_HAIRCUTS', 'OMR', 'ASSET_PURCHASE', + 'LIQUIDITY_PROVIDING_OMOS', 'LIQUIDITY_ABSORBING_OMOS', 'LTRO_COLLATERAL', + 'LTRO_PARTICIPATION_CBK', 'FX_INTERVENTIONS', 'LTRO_COLLATERAL_NEW', + 'ASSETS_PORTFOLIO', 'HAIRCUTS', 'MINIMUM_RESERVES' + ) +ORDER BY TABLE_ID; + +PROMPT +PROMPT CSDB DEBT Tables (MINIMUM_AGE_MONTHS = 6): +PROMPT + +SELECT + SOURCE_KEY, + TABLE_ID, + ARCHIVAL_STRATEGY, + MINIMUM_AGE_MONTHS, + CASE + WHEN ARCHIVAL_STRATEGY = 'MINIMUM_AGE_MONTHS' AND MINIMUM_AGE_MONTHS = 6 + THEN 'OK' + ELSE 'ERROR' + END AS STATUS +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE SOURCE_KEY = 'CSDB' + AND TABLE_ID IN ('DEBT', 'DEBT_DAILY') +ORDER BY TABLE_ID; + +PROMPT +PROMPT CSDB Rating/Description Tables (CURRENT_MONTH_ONLY): +PROMPT + +SELECT + SOURCE_KEY, + TABLE_ID, + ARCHIVAL_STRATEGY, + MINIMUM_AGE_MONTHS, + CASE + WHEN ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY' AND MINIMUM_AGE_MONTHS IS NULL + THEN 'OK' + ELSE 'ERROR' + END AS STATUS +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE SOURCE_KEY = 'CSDB' + AND TABLE_ID IN ('INSTR_RAT_FULL', 'INSTR_DESC_FULL', 'ISSUER_RAT_FULL', 'ISSUER_DESC_FULL') +ORDER BY TABLE_ID; + +PROMPT +PROMPT ===================================================================== +PROMPT Summary: Total Configured Tables +PROMPT ===================================================================== + +SELECT + COUNT(*) AS TOTAL_CONFIGURED, + SUM(CASE WHEN ARCHIVAL_STRATEGY = 'CURRENT_MONTH_ONLY' THEN 1 ELSE 0 END) AS CURRENT_MONTH_ONLY, + SUM(CASE WHEN ARCHIVAL_STRATEGY = 'MINIMUM_AGE_MONTHS' THEN 1 ELSE 0 END) AS MINIMUM_AGE_MONTHS, + SUM(CASE WHEN ARCHIVAL_STRATEGY IS NULL THEN 1 ELSE 0 END) AS NOT_CONFIGURED +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE (SOURCE_KEY = 'LM' AND TABLE_ID IN ( + 'STANDING_FACILITIES', 'MRO', 'LTRO', 'FTO', 'FTA', 'BID_LTRO', + 'LTRO_CC_COMPOSITION', 'LTRO_CC_HAIRCUTS', 'OMR', 'ASSET_PURCHASE', + 'LIQUIDITY_PROVIDING_OMOS', 'LIQUIDITY_ABSORBING_OMOS', 'LTRO_COLLATERAL', + 'LTRO_PARTICIPATION_CBK', 'FX_INTERVENTIONS', 'LTRO_COLLATERAL_NEW', + 'ASSETS_PORTFOLIO', 'HAIRCUTS', 'MINIMUM_RESERVES' + )) + OR (SOURCE_KEY = 'CSDB' AND TABLE_ID IN ( + 'DEBT', 'DEBT_DAILY', 'INSTR_RAT_FULL', 'INSTR_DESC_FULL', + 'ISSUER_RAT_FULL', 'ISSUER_DESC_FULL' + )); + +PROMPT +PROMPT Expected: TOTAL_CONFIGURED = 25, NOT_CONFIGURED = 0 +PROMPT + +PROMPT ===================================================================== +PROMPT Configuration Complete +PROMPT ===================================================================== +PROMPT +PROMPT Next Steps: +PROMPT 1. Review verification results above +PROMPT 2. All 25 tables should show STATUS = 'OK' +PROMPT 3. If errors exist, review and re-run specific UPDATE statements +PROMPT +PROMPT Log file: 06_MARS_828_configure_release01_tables.log +PROMPT ===================================================================== + +SPOOL OFF +SET ECHO OFF + +/ diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/96_MARS_828_rollback_release01_configuration.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/96_MARS_828_rollback_release01_configuration.sql new file mode 100644 index 0000000..4f6332e --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/96_MARS_828_rollback_release01_configuration.sql @@ -0,0 +1,161 @@ +-- ===================================================================== +-- Script: 96_MARS_828_rollback_release01_configuration.sql +-- MARS Issue: MARS-828 +-- Purpose: Rollback archival strategy configuration for Release 01 tables +-- Author: Grzegorz Michalski +-- Date: 2026-02-03 +-- +-- Description: +-- Removes archival strategy configuration from 25 Release 01 tables +-- by setting ARCHIVAL_STRATEGY and MINIMUM_AGE_MONTHS to NULL. +-- This is the rollback for 06_MARS_828_configure_release01_tables.sql +-- +-- Dependencies: +-- - A_SOURCE_FILE_CONFIG table with ARCHIVAL_STRATEGY column +-- ===================================================================== + +SET ECHO ON +SET SERVEROUTPUT ON +SPOOL 96_MARS_828_rollback_release01_configuration.log + +PROMPT ===================================================================== +PROMPT MARS-828: Rollback Release 01 Tables Configuration +PROMPT ===================================================================== +PROMPT +PROMPT This script will remove archival strategy configuration from 25 tables: +PROMPT - 19 LM tables +PROMPT - 6 CSDB tables (DEBT, DEBT_DAILY, and 4 rating/description tables) +PROMPT +PROMPT ARCHIVAL_STRATEGY and MINIMUM_AGE_MONTHS will be set to NULL +PROMPT +PROMPT Current timestamp: +SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS CURRENT_TIME FROM DUAL; +PROMPT + +PROMPT ===================================================================== +PROMPT WARNING: This will disable archival automation for all 25 tables +PROMPT ===================================================================== +PROMPT +PAUSE Press ENTER to continue or CTRL+C to abort... +PROMPT + +PROMPT ===================================================================== +PROMPT Removing Configuration from All 25 Tables +PROMPT ===================================================================== + +-- Rollback LM tables (19 tables) +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = NULL, + MINIMUM_AGE_MONTHS = NULL +WHERE SOURCE_KEY = 'LM' + AND TABLE_ID IN ( + 'STANDING_FACILITIES', 'MRO', 'LTRO', 'FTO', 'FTA', 'BID_LTRO', + 'LTRO_CC_COMPOSITION', 'LTRO_CC_HAIRCUTS', 'OMR', 'ASSET_PURCHASE', + 'LIQUIDITY_PROVIDING_OMOS', 'LIQUIDITY_ABSORBING_OMOS', 'LTRO_COLLATERAL', + 'LTRO_PARTICIPATION_CBK', 'FX_INTERVENTIONS', 'LTRO_COLLATERAL_NEW', + 'ASSETS_PORTFOLIO', 'HAIRCUTS', 'MINIMUM_RESERVES' + ); + +PROMPT +PROMPT LM tables configuration removed: 19 rows updated +PROMPT + +-- Rollback CSDB tables (6 tables) +UPDATE CT_MRDS.A_SOURCE_FILE_CONFIG +SET ARCHIVAL_STRATEGY = NULL, + MINIMUM_AGE_MONTHS = NULL +WHERE SOURCE_KEY = 'CSDB' + AND TABLE_ID IN ( + 'DEBT', 'DEBT_DAILY', 'INSTR_RAT_FULL', 'INSTR_DESC_FULL', + 'ISSUER_RAT_FULL', 'ISSUER_DESC_FULL' + ); + +PROMPT +PROMPT CSDB tables configuration removed: 6 rows updated +PROMPT + +PROMPT ===================================================================== +PROMPT Committing rollback changes... +PROMPT ===================================================================== + +COMMIT; + +PROMPT +PROMPT Rollback committed successfully. +PROMPT + +PROMPT ===================================================================== +PROMPT VERIFICATION: Configuration Removal Confirmation +PROMPT ===================================================================== + +PROMPT +PROMPT All 25 Tables - Configuration Status: +PROMPT + +SELECT + SOURCE_KEY, + TABLE_ID, + ARCHIVAL_STRATEGY, + MINIMUM_AGE_MONTHS, + CASE + WHEN ARCHIVAL_STRATEGY IS NULL AND MINIMUM_AGE_MONTHS IS NULL + THEN 'REMOVED' + ELSE 'ERROR - STILL CONFIGURED' + END AS STATUS +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE (SOURCE_KEY = 'LM' AND TABLE_ID IN ( + 'STANDING_FACILITIES', 'MRO', 'LTRO', 'FTO', 'FTA', 'BID_LTRO', + 'LTRO_CC_COMPOSITION', 'LTRO_CC_HAIRCUTS', 'OMR', 'ASSET_PURCHASE', + 'LIQUIDITY_PROVIDING_OMOS', 'LIQUIDITY_ABSORBING_OMOS', 'LTRO_COLLATERAL', + 'LTRO_PARTICIPATION_CBK', 'FX_INTERVENTIONS', 'LTRO_COLLATERAL_NEW', + 'ASSETS_PORTFOLIO', 'HAIRCUTS', 'MINIMUM_RESERVES' + )) + OR (SOURCE_KEY = 'CSDB' AND TABLE_ID IN ( + 'DEBT', 'DEBT_DAILY', 'INSTR_RAT_FULL', 'INSTR_DESC_FULL', + 'ISSUER_RAT_FULL', 'ISSUER_DESC_FULL' + )) +ORDER BY SOURCE_KEY, TABLE_ID; + +PROMPT +PROMPT ===================================================================== +PROMPT Summary: Configuration Removal Status +PROMPT ===================================================================== + +SELECT + COUNT(*) AS TOTAL_TABLES, + SUM(CASE WHEN ARCHIVAL_STRATEGY IS NULL AND MINIMUM_AGE_MONTHS IS NULL THEN 1 ELSE 0 END) AS REMOVED, + SUM(CASE WHEN ARCHIVAL_STRATEGY IS NOT NULL OR MINIMUM_AGE_MONTHS IS NOT NULL THEN 1 ELSE 0 END) AS STILL_CONFIGURED +FROM CT_MRDS.A_SOURCE_FILE_CONFIG +WHERE (SOURCE_KEY = 'LM' AND TABLE_ID IN ( + 'STANDING_FACILITIES', 'MRO', 'LTRO', 'FTO', 'FTA', 'BID_LTRO', + 'LTRO_CC_COMPOSITION', 'LTRO_CC_HAIRCUTS', 'OMR', 'ASSET_PURCHASE', + 'LIQUIDITY_PROVIDING_OMOS', 'LIQUIDITY_ABSORBING_OMOS', 'LTRO_COLLATERAL', + 'LTRO_PARTICIPATION_CBK', 'FX_INTERVENTIONS', 'LTRO_COLLATERAL_NEW', + 'ASSETS_PORTFOLIO', 'HAIRCUTS', 'MINIMUM_RESERVES' + )) + OR (SOURCE_KEY = 'CSDB' AND TABLE_ID IN ( + 'DEBT', 'DEBT_DAILY', 'INSTR_RAT_FULL', 'INSTR_DESC_FULL', + 'ISSUER_RAT_FULL', 'ISSUER_DESC_FULL' + )); + +PROMPT +PROMPT Expected: TOTAL_TABLES = 25, REMOVED = 25, STILL_CONFIGURED = 0 +PROMPT + +PROMPT ===================================================================== +PROMPT Rollback Complete +PROMPT ===================================================================== +PROMPT +PROMPT Configuration has been removed from all 25 Release 01 tables. +PROMPT Archival automation is now disabled for these tables. +PROMPT +PROMPT To re-enable configuration, run: +PROMPT 06_MARS_828_configure_release01_tables.sql +PROMPT +PROMPT Log file: 96_MARS_828_rollback_release01_configuration.log +PROMPT ===================================================================== + +SPOOL OFF +SET ECHO OFF + +/ diff --git a/MARS_Packages/mrds_elt-dev-database/mrds_elt-dev-database/database/CT_MRDS/SCHEMA/tables/A_SOURCE_FILE_CONFIG.sql b/MARS_Packages/mrds_elt-dev-database/mrds_elt-dev-database/database/CT_MRDS/SCHEMA/tables/A_SOURCE_FILE_CONFIG.sql index 56f418a..a7bb59b 100644 --- a/MARS_Packages/mrds_elt-dev-database/mrds_elt-dev-database/database/CT_MRDS/SCHEMA/tables/A_SOURCE_FILE_CONFIG.sql +++ b/MARS_Packages/mrds_elt-dev-database/mrds_elt-dev-database/database/CT_MRDS/SCHEMA/tables/A_SOURCE_FILE_CONFIG.sql @@ -3,6 +3,7 @@ -- ==================================================================== -- Purpose: Store source file configuration and processing rules -- MARS-1049: Added ENCODING column for CSV character set support +-- MARS-828: Added ARCHIVAL_STRATEGY and MINIMUM_AGE_MONTHS for archival automation -- ==================================================================== CREATE TABLE CT_MRDS.A_SOURCE_FILE_CONFIG ( @@ -21,6 +22,8 @@ CREATE TABLE CT_MRDS.A_SOURCE_FILE_CONFIG ( ODS_SCHEMA_NAME VARCHAR2(100), ROWS_COUNT_OVER_ARCHIVE_THRESHOLD NUMBER(38,0), HOURS_TO_EXPIRE_STATISTICS NUMBER(38,3), + ARCHIVAL_STRATEGY VARCHAR2(50), + MINIMUM_AGE_MONTHS NUMBER(3,0), ENCODING VARCHAR2(50) DEFAULT 'UTF8', CONSTRAINT A_SOURCE_FILE_CONFIG_PK PRIMARY KEY (A_SOURCE_FILE_CONFIG_KEY), CONSTRAINT SOURCE_FILE_TYPE_CHK CHECK (SOURCE_FILE_TYPE IN ('INPUT', 'CONTAINER', 'LOAD_CONFIG')), @@ -40,6 +43,8 @@ ON "CT_MRDS"."A_SOURCE_FILE_CONFIG" ("SOURCE_FILE_TYPE", "SOURCE_FILE_ID", "TABL TABLESPACE "DATA"; -- Column comments +COMMENT ON COLUMN CT_MRDS.A_SOURCE_FILE_CONFIG.ARCHIVAL_STRATEGY IS 'Archival strategy: THRESHOLD_BASED, CURRENT_MONTH_ONLY, MINIMUM_AGE_MONTHS, HYBRID. Added in MARS-828'; +COMMENT ON COLUMN CT_MRDS.A_SOURCE_FILE_CONFIG.MINIMUM_AGE_MONTHS IS 'Minimum age in months before archival (required for MINIMUM_AGE_MONTHS strategy). Added in MARS-828'; COMMENT ON COLUMN CT_MRDS.A_SOURCE_FILE_CONFIG.ENCODING IS 'Oracle character set name for CSV files (e.g., UTF8, WE8MSWIN1252, EE8ISO8859P2). Added in MARS-1049'; GRANT SELECT, INSERT, UPDATE, DELETE ON CT_MRDS.A_SOURCE_FILE_CONFIG TO MRDS_LOADER_ROLE; \ No newline at end of file