112 lines
4.2 KiB
SQL
112 lines
4.2 KiB
SQL
-- ===================================================================
|
|
-- MARS-1049 ROLLBACK SCRIPT: CSV Encoding Support
|
|
-- ===================================================================
|
|
-- Purpose: Complete rollback of CSV encoding support changes
|
|
-- Author: Grzegorz Michalski
|
|
-- Date: 2025-11-25
|
|
-- Version: 1.5.0
|
|
|
|
-- Dynamic spool file generation
|
|
var filename VARCHAR2(100)
|
|
BEGIN
|
|
SELECT 'ROLLBACK_MARS_1049_' || SUBSTR(PDB_NAME, (INSTR(PDB_NAME,'_',1)+1), (LENGTH(PDB_NAME)-INSTR(PDB_NAME,'_',1))) || '_' ||TO_CHAR(SYSDATE,'YYYYMMDD_HH24MISS')||'.log' INTO :filename from DBA_PDBS;
|
|
END;
|
|
/
|
|
column filename new_value _filename
|
|
select :filename filename from dual;
|
|
spool &_filename
|
|
--
|
|
-- CURRENT IMPLEMENTATION STATUS:
|
|
-- - CT_MRDS.FILE_MANAGER: Version 3.2.1 with pEncoding parameter (deployed)
|
|
-- - ODS.FILE_MANAGER_ODS: Version 2.1.0 with pEncoding wrapper (deployed)
|
|
-- - A_SOURCE_FILE_CONFIG: ENCODING VARCHAR2(50) column (deployed)
|
|
--
|
|
-- ROLLBACK STRATEGY:
|
|
-- - Uses current_version/ folder for pre-MARS-1049 package versions
|
|
-- - Uses new_version/ folder for MARS-1049 enhanced versions (for reference)
|
|
--
|
|
-- ROLLBACK ORDER:
|
|
-- 1. Restore ODS.FILE_MANAGER_ODS package from current_version/ (version 2.0.0)
|
|
-- 2. Restore CT_MRDS.FILE_MANAGER package from current_version/ (version 3.2.0)
|
|
-- 3. Remove ENCODING column from A_SOURCE_FILE_CONFIG
|
|
-- 4. Track package versions
|
|
-- 5. Verify all tracked packages
|
|
-- 6. Revoke SELECT ANY DICTIONARY from CT_MRDS
|
|
-- ===================================================================
|
|
|
|
PROMPT ===============================================
|
|
PROMPT MARS-1049: CSV Encoding Support - Full Rollback
|
|
PROMPT ===============================================
|
|
|
|
-- Set error handling
|
|
WHENEVER SQLERROR CONTINUE
|
|
WHENEVER OSERROR CONTINUE
|
|
|
|
PROMPT
|
|
PROMPT Warning: This will remove the ENCODING column and revert all package changes.
|
|
PROMPT Make sure you have backed up your data if needed.
|
|
PROMPT
|
|
|
|
-- Step 1: Restore ODS.FILE_MANAGER_ODS package to version 2.0.0
|
|
PROMPT Step 1: Restoring ODS.FILE_MANAGER_ODS package to version 2.0.0...
|
|
PROMPT ===============================================
|
|
|
|
-- Restore ODS.FILE_MANAGER_ODS specification from current_version (before MARS-1049)
|
|
@@current_version/FILE_MANAGER_ODS.pkg
|
|
|
|
-- Restore ODS.FILE_MANAGER_ODS body from current_version (before MARS-1049)
|
|
@@current_version/FILE_MANAGER_ODS.pkb
|
|
|
|
PROMPT ODS.FILE_MANAGER_ODS package restored to version 2.0.0
|
|
|
|
-- Step 2: Restore CT_MRDS.FILE_MANAGER package to version 3.2.0
|
|
PROMPT Step 2: Restoring CT_MRDS.FILE_MANAGER package to version 3.2.0...
|
|
PROMPT ===============================================
|
|
|
|
-- Restore CT_MRDS.FILE_MANAGER specification from current_version (before MARS-1049)
|
|
@@current_version/FILE_MANAGER.pkg
|
|
|
|
-- Restore CT_MRDS.FILE_MANAGER body from current_version (before MARS-1049)
|
|
@@current_version/FILE_MANAGER.pkb
|
|
|
|
PROMPT CT_MRDS.FILE_MANAGER package restored to version 3.2.0
|
|
|
|
-- Step 3: Remove ENCODING column from A_SOURCE_FILE_CONFIG
|
|
PROMPT Step 3: Remove ENCODING column from A_SOURCE_FILE_CONFIG...
|
|
PROMPT ===============================================
|
|
|
|
@@91_MARS_1049_rollback_DROP_ENCODING_COLUMN.sql
|
|
|
|
-- Step 4: Track rollback version
|
|
PROMPT Step 4: Tracking package versions...
|
|
PROMPT ===============================================
|
|
|
|
@@track_package_versions.sql
|
|
|
|
PROMPT
|
|
PROMPT Step 5: Verifying all tracked packages...
|
|
PROMPT ===============================================
|
|
@@verify_packages_version.sql
|
|
|
|
PROMPT
|
|
PROMPT Step 6: Revoking cross-schema hash tracking permissions...
|
|
PROMPT ===============================================
|
|
@@90_MARS_1049_rollback_revoke_permissions.sql
|
|
|
|
PROMPT ===============================================
|
|
PROMPT MARS-1049: Rollback Complete!
|
|
PROMPT ===============================================
|
|
PROMPT
|
|
PROMPT Summary of Rollback Changes:
|
|
PROMPT - A_SOURCE_FILE_CONFIG: Removed ENCODING VARCHAR2(50) column
|
|
PROMPT - CT_MRDS.FILE_MANAGER: Restored to version 3.2.0 (before MARS-1049)
|
|
PROMPT - ODS.FILE_MANAGER_ODS: Restored to version 2.0.0 (before MARS-1049)
|
|
PROMPT - SELECT ANY DICTIONARY: Revoked from CT_MRDS (cross-schema tracking disabled)
|
|
PROMPT
|
|
PROMPT All MARS-1049 changes have been successfully rolled back.
|
|
PROMPT System is now in pre-MARS-1049 state.
|
|
PROMPT
|
|
|
|
spool off
|
|
|
|
exit |