Init
This commit is contained in:
112
MARS_Packages/REL01/MARS-1049/rollback_mars1049.sql
Normal file
112
MARS_Packages/REL01/MARS-1049/rollback_mars1049.sql
Normal file
@@ -0,0 +1,112 @@
|
||||
-- ===================================================================
|
||||
-- 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
|
||||
Reference in New Issue
Block a user