-- =================================================================== -- Universal Package Version Verification Script -- =================================================================== -- Purpose: Verify all tracked Oracle packages for code changes -- Author: Grzegorz Michalski -- Date: 2025-11-25 -- Version: 1.0.0 -- -- USAGE: -- Include at the end of install/rollback scripts: @@verify_packages_version.sql -- -- OUTPUT: -- - List of all tracked packages with their current status -- - OK: Package has not changed since last tracking -- - WARNING: Package code changed without version update -- =================================================================== SET LINESIZE 200 SET PAGESIZE 1000 SET FEEDBACK OFF PROMPT PROMPT ======================================== PROMPT Package Version Verification PROMPT ======================================== PROMPT COLUMN PACKAGE_OWNER FORMAT A15 COLUMN PACKAGE_NAME FORMAT A20 COLUMN VERSION FORMAT A10 COLUMN STATUS FORMAT A80 SELECT PACKAGE_OWNER, PACKAGE_NAME, PACKAGE_VERSION AS VERSION, CT_MRDS.ENV_MANAGER.CHECK_PACKAGE_CHANGES(PACKAGE_OWNER, PACKAGE_NAME) AS STATUS FROM ( SELECT PACKAGE_OWNER, PACKAGE_NAME, PACKAGE_VERSION, ROW_NUMBER() OVER (PARTITION BY PACKAGE_OWNER, PACKAGE_NAME ORDER BY TRACKING_DATE DESC) AS RN FROM CT_MRDS.A_PACKAGE_VERSION_TRACKING ) WHERE RN = 1 ORDER BY PACKAGE_OWNER, PACKAGE_NAME; PROMPT PROMPT ======================================== PROMPT Verification Complete PROMPT ======================================== PROMPT PROMPT Legend: PROMPT OK - Package has not changed since last tracking PROMPT WARNING - Package code changed without version update PROMPT PROMPT For detailed hash information, use: PROMPT SELECT ENV_MANAGER.GET_PACKAGE_HASH_INFO('OWNER', 'PACKAGE') FROM DUAL; PROMPT ======================================== SET FEEDBACK ON