summaryrefslogtreecommitdiff
path: root/maintenance/oracle/archives/patch_rebuild_dupfunc.sql
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/oracle/archives/patch_rebuild_dupfunc.sql')
-rw-r--r--maintenance/oracle/archives/patch_rebuild_dupfunc.sql149
1 files changed, 0 insertions, 149 deletions
diff --git a/maintenance/oracle/archives/patch_rebuild_dupfunc.sql b/maintenance/oracle/archives/patch_rebuild_dupfunc.sql
deleted file mode 100644
index 56ee5b3e..00000000
--- a/maintenance/oracle/archives/patch_rebuild_dupfunc.sql
+++ /dev/null
@@ -1,149 +0,0 @@
-/*$mw$*/
-CREATE OR REPLACE PROCEDURE duplicate_table(p_tabname IN VARCHAR2,
- p_oldprefix IN VARCHAR2,
- p_newprefix IN VARCHAR2,
- p_temporary IN BOOLEAN) IS
- e_table_not_exist EXCEPTION;
- PRAGMA EXCEPTION_INIT(e_table_not_exist, -00942);
- l_temp_ei_sql VARCHAR2(2000);
- l_temporary BOOLEAN := p_temporary;
-BEGIN
- BEGIN
- EXECUTE IMMEDIATE 'DROP TABLE ' || p_newprefix || p_tabname ||
- ' CASCADE CONSTRAINTS PURGE';
- EXCEPTION
- WHEN e_table_not_exist THEN
- NULL;
- END;
- IF (p_tabname = 'SEARCHINDEX') THEN
- l_temporary := FALSE;
- END IF;
- IF (l_temporary) THEN
- EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE ' || p_newprefix ||
- p_tabname ||
- ' ON COMMIT PRESERVE ROWS AS SELECT * FROM ' ||
- p_oldprefix || p_tabname || ' WHERE ROWNUM = 0';
- ELSE
- EXECUTE IMMEDIATE 'CREATE TABLE ' || p_newprefix || p_tabname ||
- ' AS SELECT * FROM ' || p_oldprefix || p_tabname ||
- ' WHERE ROWNUM = 0';
- END IF;
- FOR rc IN (SELECT column_name, data_default
- FROM user_tab_columns
- WHERE table_name = p_oldprefix || p_tabname
- AND data_default IS NOT NULL) LOOP
- EXECUTE IMMEDIATE 'ALTER TABLE ' || p_newprefix || p_tabname ||
- ' MODIFY ' || rc.column_name || ' DEFAULT ' ||
- SUBSTR(rc.data_default, 1, 2000);
- END LOOP;
- FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('CONSTRAINT',
- constraint_name),
- 32767,
- 1),
- USER || '"."' || p_oldprefix,
- USER || '"."' || p_newprefix),
- '"' || constraint_name || '"',
- '"' || p_newprefix || constraint_name || '"') DDLVC2,
- constraint_name
- FROM user_constraints uc
- WHERE table_name = p_oldprefix || p_tabname
- AND constraint_type = 'P') LOOP
- l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'PCTFREE') - 1);
- l_temp_ei_sql := SUBSTR(l_temp_ei_sql,
- 1,
- INSTR(l_temp_ei_sql,
- ')',
- INSTR(l_temp_ei_sql, 'PRIMARY KEY') + 1) + 1);
- IF nvl(length(l_temp_ei_sql), 0) > 0 THEN
- EXECUTE IMMEDIATE l_temp_ei_sql;
- END IF;
- END LOOP;
- IF (NOT l_temporary) THEN
- FOR rc IN (SELECT REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('REF_CONSTRAINT',
- constraint_name),
- 32767,
- 1),
- USER || '"."' || p_oldprefix,
- USER || '"."' || p_newprefix) DDLVC2,
- constraint_name
- FROM user_constraints uc
- WHERE table_name = p_oldprefix || p_tabname
- AND constraint_type = 'R') LOOP
- IF nvl(length(l_temp_ei_sql), 0) > 0 AND
- INSTR(l_temp_ei_sql, 'PRIMARY KEY') = 0 THEN
- EXECUTE IMMEDIATE l_temp_ei_sql;
- END IF;
- END LOOP;
- END IF;
- FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('INDEX',
- index_name),
- 32767,
- 1),
- USER || '"."' || p_oldprefix,
- USER || '"."' || p_newprefix),
- '"' || index_name || '"',
- '"' || p_newprefix || index_name || '"') DDLVC2,
- index_name,
- index_type
- FROM user_indexes ui
- WHERE table_name = p_oldprefix || p_tabname
- AND index_type NOT IN ('LOB', 'DOMAIN')
- AND NOT EXISTS
- (SELECT NULL
- FROM user_constraints
- WHERE table_name = ui.table_name
- AND constraint_name = ui.index_name)) LOOP
- l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'PCTFREE') - 1);
- l_temp_ei_sql := SUBSTR(l_temp_ei_sql,
- 1,
- INSTR(l_temp_ei_sql,
- ')',
- INSTR(l_temp_ei_sql,
- '"' || USER || '"."' || p_newprefix || '"') + 1) + 1);
- IF nvl(length(l_temp_ei_sql), 0) > 0 THEN
- EXECUTE IMMEDIATE l_temp_ei_sql;
- END IF;
- END LOOP;
- FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('INDEX',
- index_name),
- 32767,
- 1),
- USER || '"."' || p_oldprefix,
- USER || '"."' || p_newprefix),
- '"' || index_name || '"',
- '"' || p_newprefix || index_name || '"') DDLVC2,
- index_name,
- index_type
- FROM user_indexes ui
- WHERE table_name = p_oldprefix || p_tabname
- AND index_type = 'DOMAIN'
- AND NOT EXISTS
- (SELECT NULL
- FROM user_constraints
- WHERE table_name = ui.table_name
- AND constraint_name = ui.index_name)) LOOP
- l_temp_ei_sql := rc.ddlvc2;
- IF nvl(length(l_temp_ei_sql), 0) > 0 THEN
- EXECUTE IMMEDIATE l_temp_ei_sql;
- END IF;
- END LOOP;
- FOR rc IN (SELECT REPLACE(REPLACE(UPPER(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('TRIGGER',
- trigger_name),
- 32767,
- 1)),
- USER || '"."' || p_oldprefix,
- USER || '"."' || p_newprefix),
- ' ON ' || p_oldprefix || p_tabname,
- ' ON ' || p_newprefix || p_tabname) DDLVC2,
- trigger_name
- FROM user_triggers
- WHERE table_name = p_oldprefix || p_tabname) LOOP
- l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'ALTER ') - 1);
- IF nvl(length(l_temp_ei_sql), 0) > 0 THEN
- EXECUTE IMMEDIATE l_temp_ei_sql;
- END IF;
- END LOOP;
-END;
-
-/*$mw$*/
-