Compare commits

...

3 Commits

Author SHA1 Message Date
Grzegorz Michalski
057a4e7ce3 Enhance trigger validation in MARS-828 verification script to improve error handling and output clarity 2026-02-16 11:01:44 +01:00
Grzegorz Michalski
a9a51f19be Rename ARCH_FILE_NAME to ARCH_PATH in FILE_ARCHIVER for clarity and consistency in directory URI handling 2026-02-16 11:01:01 +01:00
Grzegorz Michalski
fc6304c60b wk 2026-02-16 10:50:38 +01:00
6 changed files with 24 additions and 20 deletions

View File

@@ -81,6 +81,8 @@ SELECT CT_MRDS.FILE_ARCHIVER.GET_VERSION() as package_version FROM DUAL;
-- 7. Test trigger validation
PROMPT
PROMPT 7. Testing trigger validation (should fail)...
WHENEVER SQLERROR CONTINUE
SET SERVEROUTPUT ON
DECLARE
vTestPassed BOOLEAN := FALSE;
BEGIN
@@ -107,14 +109,16 @@ EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -20999 THEN
DBMS_OUTPUT.PUT_LINE('SUCCESS: Trigger validation working correctly');
DBMS_OUTPUT.PUT_LINE('Expected error: ' || SQLERRM);
DBMS_OUTPUT.PUT_LINE('Trigger correctly rejected MINIMUM_AGE_MONTHS strategy without required value');
vTestPassed := TRUE;
ELSE
DBMS_OUTPUT.PUT_LINE('ERROR: Unexpected error: ' || SQLERRM);
DBMS_OUTPUT.PUT_LINE('ERROR: Unexpected error occurred during trigger validation');
DBMS_OUTPUT.PUT_LINE('Error code: ' || SQLCODE);
END IF;
ROLLBACK;
END;
/
WHENEVER SQLERROR EXIT FAILURE
PROMPT
PROMPT ========================================

View File

@@ -234,7 +234,7 @@ AS
-- Note: DBMS_CLOUD.EXPORT_DATA may create multiple parquet files (parallel execution)
-- Instead of tracking individual files, we store the archive directory prefix
-- ARCH_FILE_NAME will contain the directory URI where all parquet files are located
-- ARCH_PATH contain the directory URI where all parquet files are located
vFilename := vUri; -- Store directory prefix instead of individual filename
-- Try to drop EXPORTED FILES ("regular data files")
@@ -245,7 +245,7 @@ AS
BEGIN
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
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
,ARCH_PATH = 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
WHERE r.a_source_file_config_key= pSourceFileConfigKey
@@ -324,7 +324,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'INGESTED'
,ARCH_FILE_NAME = NULL
,ARCH_PATH = NULL
WHERE r.a_source_file_config_key = pSourceFileConfigKey
AND r.source_file_name = f.filename
;
@@ -579,7 +579,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE A_SOURCE_FILE_RECEIVED_KEY = pSourceFileReceivedKey
@@ -620,7 +620,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE A_SOURCE_FILE_CONFIG_KEY = pSourceFileConfigKey
@@ -660,7 +660,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE PROCESSING_STATUS = 'ARCHIVED_AND_TRASHED';

View File

@@ -181,7 +181,7 @@ AS
BEGIN
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'ARCHIVED'
,ARCH_FILE_NAME = vUri||vFilename
,ARCH_PATH = vUri||vFilename
WHERE r.a_source_file_config_key= pSourceFileConfigKey
AND r.source_file_name = f.filename
AND r.processing_status = 'INGESTED'
@@ -244,7 +244,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'INGESTED'
,ARCH_FILE_NAME = NULL
,ARCH_PATH = NULL
WHERE r.a_source_file_config_key = pSourceFileConfigKey
AND r.source_file_name = f.filename
;

View File

@@ -231,7 +231,7 @@ AS
BEGIN
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'ARCHIVED'
,ARCH_FILE_NAME = vUri||vFilename
,ARCH_PATH = vUri||vFilename
WHERE r.a_source_file_config_key= pSourceFileConfigKey
AND r.source_file_name = f.filename
AND r.processing_status = 'INGESTED'
@@ -294,7 +294,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'INGESTED'
,ARCH_FILE_NAME = NULL
,ARCH_PATH = NULL
WHERE r.a_source_file_config_key = pSourceFileConfigKey
AND r.source_file_name = f.filename
;

View File

@@ -223,7 +223,7 @@ AS
-- Note: DBMS_CLOUD.EXPORT_DATA may create multiple parquet files (parallel execution)
-- Instead of tracking individual files, we store the archive directory prefix
-- ARCH_FILE_NAME will contain the directory URI where all parquet files are located
-- ARCH_PATH will contain the directory URI where all parquet files are located
vFilename := vUri; -- Store directory prefix instead of individual filename
-- Try to drop EXPORTED FILES ("regular data files")
@@ -234,7 +234,7 @@ AS
BEGIN
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
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
,ARCH_PATH = 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
WHERE r.a_source_file_config_key= pSourceFileConfigKey
@@ -313,7 +313,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED r
SET PROCESSING_STATUS = 'INGESTED'
,ARCH_FILE_NAME = NULL
,ARCH_PATH = NULL
WHERE r.a_source_file_config_key = pSourceFileConfigKey
AND r.source_file_name = f.filename
;
@@ -568,7 +568,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE A_SOURCE_FILE_RECEIVED_KEY = pSourceFileReceivedKey
@@ -609,7 +609,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE A_SOURCE_FILE_CONFIG_KEY = pSourceFileConfigKey
@@ -649,7 +649,7 @@ AS
UPDATE CT_MRDS.A_SOURCE_FILE_RECEIVED
SET PROCESSING_STATUS = 'INGESTED',
ARCH_FILE_NAME = NULL,
ARCH_PATH = NULL,
PARTITION_YEAR = NULL,
PARTITION_MONTH = NULL
WHERE PROCESSING_STATUS = 'ARCHIVED_AND_TRASHED';

View File

@@ -75,6 +75,6 @@ sql "ADMIN/Cloudpass#34@ggmichalski_high" "@rollback_mars1057.sql"
cd .\MARS_Packages\REL01_ADDITIONS\MARS-828
sql "ADMIN/Cloudpass#34@ggmichalski_high" "@install_mars828.sql"
sql "ADMIN/Cloudpass#34@ggmichalski_high" "@rollback_mars828.sql"
echo 'yes' | sql "ADMIN/Cloudpass#34@ggmichalski_high" "@install_mars828.sql"
echo 'yes' | sql "ADMIN/Cloudpass#34@ggmichalski_high" "@rollback_mars828.sql"
7z a -pMojeSuperHaslo#123 -mhe=on M828_arch.7z MARS-828\