From 9ffad718fe7672c8c00b643d7ee3b9796f5a1174 Mon Sep 17 00:00:00 2001 From: Grzegorz Michalski Date: Tue, 10 Feb 2026 13:18:17 +0100 Subject: [PATCH] Update FILE_ARCHIVER package to version 3.2.1, fixing status update from ARCHIVED to ARCHIVED_AND_TRASHED for files moved to TRASH folder --- .../MARS-828/new_version/FILE_ARCHIVER.pkb | 10 +++++----- .../MARS-828/new_version/FILE_ARCHIVER.pkg | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkb b/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkb index 14450b8..953d383 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkb +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkb @@ -145,7 +145,7 @@ AS -- Use strategy-based WHERE clause (MARS-828) -- Using GROUP BY instead of DISTINCT to avoid ORA-22950 (object type ordering issue) vQuery := ' - select t_filename( + select CT_MRDS.t_filename( file$name ,file$path , to_char(h.workflow_start,''yyyy'') @@ -230,10 +230,10 @@ AS BEGIN FOR f in (select filename, pathname from table(vfiles) where year = ym_loop.year and month = ym_loop.month) loop - -- first change of status + -- first change of status to ARCHIVED_AND_TRASHED (file will be moved to TRASH folder) BEGIN UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r - SET PROCESSING_STATUS = 'ARCHIVED' + SET PROCESSING_STATUS = 'ARCHIVED_AND_TRASHED' -- Status reflects file is archived and kept in TRASH ,ARCH_FILE_NAME = vFilename -- Now contains directory prefix, not individual file ,PARTITION_YEAR = ym_loop.year -- Record which partition year the data was archived to ,PARTITION_MONTH = ym_loop.month -- Record which partition month the data was archived to @@ -244,9 +244,9 @@ AS EXCEPTION WHEN OTHERS THEN CT_MRDS.ENV_MANAGER.LOG_PROCESS_EVENT(CT_MRDS.ENV_MANAGER.GET_ERROR_STACK(pFormat => 'TABLE', pCode=> SQLCODE), 'ERROR', vParameters); - vProcessControlStatus := 'CHANGE_STATUS_TO_ARCHIVED_FAILURE'; + vProcessControlStatus := 'CHANGE_STATUS_TO_ARCHIVED_AND_TRASHED_FAILURE'; END; - EXIT WHEN vProcessControlStatus = 'CHANGE_STATUS_TO_ARCHIVED_FAILURE'; + EXIT WHEN vProcessControlStatus = 'CHANGE_STATUS_TO_ARCHIVED_AND_TRASHED_FAILURE'; -- move file to TRASH subfolder (DATA bucket: ODS/ → TRASH/) before dropping BEGIN diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkg b/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkg index 4a93eaf..ff6ed36 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkg +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/new_version/FILE_ARCHIVER.pkg @@ -17,12 +17,13 @@ AS **/ -- Package Version Information (Semantic Versioning: MAJOR.MINOR.PATCH) - PACKAGE_VERSION CONSTANT VARCHAR2(10) := '3.2.0'; - PACKAGE_BUILD_DATE CONSTANT VARCHAR2(20) := '2026-02-06 14:00:00'; + PACKAGE_VERSION CONSTANT VARCHAR2(10) := '3.2.1'; + PACKAGE_BUILD_DATE CONSTANT VARCHAR2(20) := '2026-02-10 09:00:00'; PACKAGE_AUTHOR CONSTANT VARCHAR2(100) := 'Grzegorz Michalski'; -- Version History (Latest changes first) VERSION_HISTORY CONSTANT VARCHAR2(4000) := + '3.2.1 (2026-02-10): Fixed status update - ARCHIVED → ARCHIVED_AND_TRASHED when moving files to TRASH folder (critical bug fix)' || CHR(13)||CHR(10) || '3.2.0 (2026-02-06): Added pKeepInTrash parameter (DEFAULT TRUE) to ARCHIVE_TABLE_DATA for TRASH folder retention control - files kept in TRASH subfolder (DATA bucket) by default for safety and compliance' || CHR(13)||CHR(10) || '3.1.2 (2026-02-06): Fixed missing PARTITION_YEAR/PARTITION_MONTH assignments in UPDATE statement and export query circular dependency (now filters by workflow_start instead of partition fields)' || CHR(13)||CHR(10) || '3.1.1 (2026-02-06): Fixed ORA-01422 error when DBMS_CLOUD.EXPORT_DATA creates multiple parquet files (parallel execution). Now stores archive directory prefix instead of individual filenames' || CHR(13)||CHR(10) ||