When a function-based index created using
CREATE INDEX I_FN_TEST
ON T_TEST (TESTPKG.TESTFUNC (TEST_COLUMN));
Oracle appends the current schema name to the TESTPKG
call, making it CURRSCHEMA.TESTPKG.TESTFUNC
. This is observed running by
SELECT column_expression
FROM dba_ind_expressions
WHERE index_owner = 'CURRSCHEMA' AND index_name = 'I_FN_TEST';
COLUMN_EXPRESSION
--------------------------------------------------
"CURRSCHEMA"."TESTPKG"."TESTFUNC"("TEST_COLUMN")
1 row selected.
CURRSCHEMA is my dev schema and DDL diffs are regularly created to ship developments to production with DBMS_METADATA.GET_DDL
.
The problem is now our diff DDL's contains a schema name that does (and should) not exists at the target. Is there any way to prevent appending current schema name to index definition?