diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/05_MARS_828_verify_installation.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/05_MARS_828_verify_installation.sql index 40f18db..b83ed0d 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/05_MARS_828_verify_installation.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/05_MARS_828_verify_installation.sql @@ -59,9 +59,23 @@ WHERE owner = 'CT_MRDS' AND object_type IN ('PACKAGE', 'PACKAGE BODY') ORDER BY object_type; --- 5. Check for compilation errors +-- 5. Check FILE_MANAGER package compilation status PROMPT -PROMPT 5. Checking for compilation errors... +PROMPT 5. Checking FILE_MANAGER package status... +SELECT + object_name, + object_type, + status, + TO_CHAR(last_ddl_time, 'YYYY-MM-DD HH24:MI:SS') as last_ddl_time +FROM all_objects +WHERE owner = 'CT_MRDS' + AND object_name = 'FILE_MANAGER' + AND object_type IN ('PACKAGE', 'PACKAGE BODY') +ORDER BY object_type; + +-- 6. Check for compilation errors +PROMPT +PROMPT 6. Checking for compilation errors (FILE_ARCHIVER)... SELECT name, type, @@ -73,14 +87,31 @@ WHERE owner = 'CT_MRDS' AND name = 'FILE_ARCHIVER' ORDER BY type, sequence; --- 6. Verify package version +-- 7. Check for compilation errors (FILE_MANAGER) PROMPT -PROMPT 6. Verifying FILE_ARCHIVER version... -SELECT CT_MRDS.FILE_ARCHIVER.GET_VERSION() as package_version FROM DUAL; +PROMPT 7. Checking for compilation errors (FILE_MANAGER)... +SELECT + name, + type, + line, + position, + text +FROM all_errors +WHERE owner = 'CT_MRDS' + AND name = 'FILE_MANAGER' +ORDER BY type, sequence; --- 7. Test trigger validation +-- 8. Verify package versions PROMPT -PROMPT 7. Testing trigger validation (should fail)... +PROMPT 8. Verifying package versions... +PROMPT FILE_ARCHIVER version: +SELECT CT_MRDS.FILE_ARCHIVER.GET_VERSION() as package_version FROM DUAL; +PROMPT FILE_MANAGER version: +SELECT CT_MRDS.FILE_MANAGER.GET_VERSION() as package_version FROM DUAL; + +-- 9. Test trigger validation +PROMPT +PROMPT 9. Testing trigger validation (should fail)... WHENEVER SQLERROR CONTINUE SET SERVEROUTPUT ON DECLARE diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/09_MARS_828_install_CT_MRDS_FILE_MANAGER_SPEC.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/09_MARS_828_install_CT_MRDS_FILE_MANAGER_SPEC.sql new file mode 100644 index 0000000..626167e --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/09_MARS_828_install_CT_MRDS_FILE_MANAGER_SPEC.sql @@ -0,0 +1,29 @@ +--============================================================================================================================= +-- MARS-828: Install CT_MRDS.FILE_MANAGER Package Specification v3.3.2 +--============================================================================================================================= +-- Purpose: Deploy FILE_MANAGER Package Specification with MARS-828 column compatibility +-- Author: Grzegorz Michalski +-- Date: 2026-02-20 +-- Related: MARS-828 Threshold Column Rename Compatibility +--============================================================================================================================= + +SET SERVEROUTPUT ON + +PROMPT ======================================================================== +PROMPT Installing CT_MRDS.FILE_MANAGER Package Specification v3.3.2 +PROMPT ======================================================================== + +@@new_version/FILE_MANAGER.pkg + +-- Verify package compilation (check specific schema when installing as ADMIN) +SELECT OBJECT_NAME, OBJECT_TYPE, STATUS +FROM ALL_OBJECTS +WHERE OWNER = 'CT_MRDS' + AND OBJECT_NAME = 'FILE_MANAGER' + AND OBJECT_TYPE = 'PACKAGE'; + +PROMPT SUCCESS: FILE_MANAGER Package Specification v3.3.2 installed + +--============================================================================================================================= +-- End of Script +--============================================================================================================================= diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/10_MARS_828_install_CT_MRDS_FILE_MANAGER_BODY.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/10_MARS_828_install_CT_MRDS_FILE_MANAGER_BODY.sql new file mode 100644 index 0000000..ee3b69f --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/10_MARS_828_install_CT_MRDS_FILE_MANAGER_BODY.sql @@ -0,0 +1,38 @@ +--============================================================================================================================= +-- MARS-828: Install CT_MRDS.FILE_MANAGER Package Body v3.3.2 +--============================================================================================================================= +-- Purpose: Deploy FILE_MANAGER Package Body with MARS-828 threshold column compatibility +-- Author: Grzegorz Michalski +-- Date: 2026-02-20 +-- Related: MARS-828 Threshold Column Rename Compatibility +--============================================================================================================================= + +SET SERVEROUTPUT ON + +PROMPT ======================================================================== +PROMPT Installing CT_MRDS.FILE_MANAGER Package Body v3.3.2 +PROMPT ======================================================================== + +@@new_version/FILE_MANAGER.pkb + +-- Verify package compilation (check specific schema when installing as ADMIN) +SELECT OBJECT_NAME, OBJECT_TYPE, STATUS +FROM ALL_OBJECTS +WHERE OWNER = 'CT_MRDS' + AND OBJECT_NAME = 'FILE_MANAGER' + AND OBJECT_TYPE IN ('PACKAGE', 'PACKAGE BODY') +ORDER BY OBJECT_TYPE; + +-- Check for any compilation errors +SELECT 'COMPILATION ERRORS FOUND' AS WARNING +FROM ALL_ERRORS +WHERE OWNER = 'CT_MRDS' + AND NAME = 'FILE_MANAGER' + AND TYPE = 'PACKAGE BODY' + AND ROWNUM = 1; + +PROMPT SUCCESS: FILE_MANAGER Package Body v3.3.2 installed + +--============================================================================================================================= +-- End of Script +--============================================================================================================================= diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/97_MARS_828_rollback_FILE_MANAGER_SPEC.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/97_MARS_828_rollback_FILE_MANAGER_SPEC.sql new file mode 100644 index 0000000..fcccf79 --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/97_MARS_828_rollback_FILE_MANAGER_SPEC.sql @@ -0,0 +1,10 @@ +-- =================================================================== +-- MARS-828: Rollback FILE_MANAGER Package Specification to v3.3.1 +-- =================================================================== +-- Purpose: Restore previous package specification version (pre-threshold column rename compatibility) +-- Author: Grzegorz Michalski +-- Date: 2026-02-20 +-- WARNING: This removes MARS-828 threshold column compatibility from FILE_MANAGER +-- =================================================================== + +@@rollback_version/FILE_MANAGER.pkg diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/98_MARS_828_rollback_FILE_MANAGER_BODY.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/98_MARS_828_rollback_FILE_MANAGER_BODY.sql new file mode 100644 index 0000000..805653a --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/98_MARS_828_rollback_FILE_MANAGER_BODY.sql @@ -0,0 +1,10 @@ +-- =================================================================== +-- MARS-828: Rollback FILE_MANAGER Package Body to v3.3.1 +-- =================================================================== +-- Purpose: Restore previous package body version (pre-threshold column rename compatibility) +-- Author: Grzegorz Michalski +-- Date: 2026-02-20 +-- WARNING: This removes MARS-828 threshold column compatibility from FILE_MANAGER +-- =================================================================== + +@@rollback_version/FILE_MANAGER.pkb diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql index e4248e2..4dd8f95 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql @@ -35,10 +35,10 @@ PROMPT PROMPT ============================================================================ PROMPT MARS-828 Installation Starting PROMPT ============================================================================ -PROMPT Package: CT_MRDS.FILE_ARCHIVER -PROMPT Change: Enhanced archival strategies (MINIMUM_AGE_MONTHS, HYBRID) + TRASH retention + Selective archiving +PROMPT Package: CT_MRDS.FILE_ARCHIVER v3.3.0 + CT_MRDS.FILE_MANAGER v3.3.2 +PROMPT Change: Enhanced archival strategies (MINIMUM_AGE_MONTHS, HYBRID) + TRASH retention + Selective archiving + FILE_MANAGER compatibility PROMPT Purpose: Flexible archival policies per data source with file retention and config-based control -PROMPT Steps: 12 (DDL, Rename, Comments, Trigger, Statuses, Grants, Package v3.3.0, Verify, Track, Configure) +PROMPT Steps: 14 (DDL, Rename, Comments, Trigger, Statuses, Grants, Packages, Verify, Track, Configure) PROMPT Timestamp: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS install_start FROM DUAL; PROMPT ============================================================================ @@ -91,27 +91,37 @@ PROMPT ============================================================== @@03_MARS_828_install_CT_MRDS_FILE_ARCHIVER_SPEC.sql PROMPT -PROMPT Step 8/12: Deploying FILE_ARCHIVER Package Body v3.3.0 +PROMPT Step 8/14: Deploying FILE_ARCHIVER Package Body v3.3.0 PROMPT ==================================================== @@04_MARS_828_install_CT_MRDS_FILE_ARCHIVER_BODY.sql PROMPT -PROMPT Step 9/12: Verifying installation -PROMPT ================================= +PROMPT Step 9/14: Deploying FILE_MANAGER Package Specification v3.3.2 +PROMPT ============================================================= +@@09_MARS_828_install_CT_MRDS_FILE_MANAGER_SPEC.sql + +PROMPT +PROMPT Step 10/14: Deploying FILE_MANAGER Package Body v3.3.2 +PROMPT =================================================== +@@10_MARS_828_install_CT_MRDS_FILE_MANAGER_BODY.sql + +PROMPT +PROMPT Step 11/14: Verifying installation +PROMPT ================================== @@05_MARS_828_verify_installation.sql PROMPT -PROMPT Step 10/12: Tracking package versions -PROMPT ==================================== +PROMPT Step 12/14: Tracking package versions +PROMPT ===================================== @@track_package_versions.sql PROMPT -PROMPT Step 11/12: Verifying tracked packages +PROMPT Step 13/14: Verifying tracked packages PROMPT ====================================== @@verify_packages_version.sql PROMPT -PROMPT Step 12/12: Configuring Release 01 tables archival strategies +PROMPT Step 14/14: Configuring Release 01 tables archival strategies PROMPT ============================================================ @@06_MARS_828_configure_release01_tables.sql @@ -123,8 +133,9 @@ PROMPT Completion Time: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS install_end FROM DUAL; PROMPT PROMPT Installation Summary: -PROMPT - Package: CT_MRDS.FILE_ARCHIVER -PROMPT - Version: 3.3.0 (includes selective archiving and config-based TRASH policy) +PROMPT - Packages Installed: +PROMPT * CT_MRDS.FILE_ARCHIVER v3.3.0 (includes selective archiving and config-based TRASH policy) +PROMPT * CT_MRDS.FILE_MANAGER v3.3.2 (compatible with MARS-828 threshold column renames) PROMPT - Strategies: THRESHOLD_BASED (default), MINIMUM_AGE_MONTHS (0=current month), HYBRID PROMPT - Selective Archiving: IS_ARCHIVE_ENABLED column (Y=archive, N=skip) PROMPT - TRASH Policy: IS_KEEP_IN_TRASH column (Y=keep files, N=delete immediately) diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql index 0de7510..2256252 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql @@ -39,7 +39,8 @@ PROMPT 4. Remove column comments (OPTIONAL - does not affect functionality) PROMPT 5. Revert threshold column renames (restore original naming) PROMPT 6. Drop all configuration columns (ARCHIVAL_STRATEGY, MINIMUM_AGE_MONTHS, IS_ARCHIVE_ENABLED, IS_KEEP_IN_TRASH) PROMPT 7. Restore FILE_ARCHIVER package to v2.0.0 -PROMPT 8. Revert all archival strategies to THRESHOLD_BASED +PROMPT 8. Restore FILE_MANAGER package to v3.3.1 +PROMPT 9. Revert all archival strategies to THRESHOLD_BASED PROMPT PROMPT Timestamp: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS rollback_start FROM DUAL; @@ -96,13 +97,23 @@ PROMPT =============================================================== @@91_MARS_828_rollback_FILE_ARCHIVER_SPEC.sql PROMPT -PROMPT Step 8/9: Restoring FILE_ARCHIVER Package Body v2.0.0 -PROMPT ====================================================== +PROMPT Step 8/11: Restoring FILE_ARCHIVER Package Body v2.0.0 +PROMPT ======================================================= @@92_MARS_828_rollback_FILE_ARCHIVER_BODY.sql PROMPT -PROMPT Step 9/9: Verifying tracked packages -PROMPT ===================================== +PROMPT Step 9/11: Restoring FILE_MANAGER Package Specification v3.3.1 +PROMPT =============================================================== +@@97_MARS_828_rollback_FILE_MANAGER_SPEC.sql + +PROMPT +PROMPT Step 10/11: Restoring FILE_MANAGER Package Body v3.3.1 +PROMPT ====================================================== +@@98_MARS_828_rollback_FILE_MANAGER_BODY.sql + +PROMPT +PROMPT Step 11/11: Verifying tracked packages +PROMPT ====================================== @@verify_packages_version.sql -- Verify rollback @@ -112,9 +123,9 @@ PROMPT ========================================= SELECT object_name, object_type, status, last_ddl_time FROM all_objects WHERE owner = 'CT_MRDS' - AND object_name = 'FILE_ARCHIVER' + AND object_name IN ('FILE_ARCHIVER', 'FILE_MANAGER') AND object_type IN ('PACKAGE', 'PACKAGE BODY') -ORDER BY object_type; +ORDER BY object_name, object_type; PROMPT PROMPT ============================================================================ @@ -124,8 +135,9 @@ PROMPT Completion Time: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS rollback_end FROM DUAL; PROMPT PROMPT Rollback Summary: -PROMPT - Package: CT_MRDS.FILE_ARCHIVER -PROMPT - Restored Version: 2.0.0 (THRESHOLD_BASED archival only) +PROMPT - Packages Rolled Back: +PROMPT * CT_MRDS.FILE_ARCHIVER to v2.0.0 (THRESHOLD_BASED archival only) +PROMPT * CT_MRDS.FILE_MANAGER to v3.3.1 (pre-MARS-828 threshold column compatibility) PROMPT - Removed Features: CURRENT_MONTH_ONLY, MINIMUM_AGE_MONTHS, HYBRID strategies PROMPT PROMPT Log file: &_filename diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/track_package_versions.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/track_package_versions.sql index b497dfa..3bba874 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/track_package_versions.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/track_package_versions.sql @@ -29,7 +29,8 @@ DECLARE -- Format: 'SCHEMA.PACKAGE_NAME' -- =================================================================== vPackageList t_string_array := t_string_array( - 'CT_MRDS.FILE_ARCHIVER' + 'CT_MRDS.FILE_ARCHIVER', + 'CT_MRDS.FILE_MANAGER' ); -- ===================================================================