MINI MINI MANI MO
@@?/rdbms/admin/sqlsessstart.sql
create or replace package body wmsys.owm_dml_pkg wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
b
495d b12
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
/
create or replace trigger wmsys.wm$bct_i_trig instead of insert on wmsys.wm$batch_compressible_tables for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
vtid integer := wmsys.ltUtil.getVtid(substr(upper(:new.table_name), 1, instr(:new.table_name, '.')-1),
substr(upper(:new.table_name), instr(:new.table_name, '.')+1)) ;
begin
insert into wmsys.wm$batch_compressible_tables$(workspace#, vtid#, begin_version, end_version, where_clause)
values (ws#, vtid, :new.begin_version, :new.end_version, :new.where_clause) ;
end;
/
create or replace trigger wmsys.wm$cp_i_trig instead of insert on wmsys.wm$column_props for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$column_props$f(:new.identity_type) ;
update wmsys.wm$versioned_tables$
set wm$flag = wmsys.ltUtil.bitor(wmsys.ltUtil.bitclear(wm$flag, 98304), flag_v)
where vtid# = vtid ;
end;
/
create or replace trigger wmsys.wm$cp_u_trig instead of update on wmsys.wm$column_props for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
if (updating('IDENTITY_TYPE')) then
flag_v := wmsys.owm_dml_pkg.wm$column_props$f(:new.identity_type) ;
sqlstr := sqlstr || ' wm$flag=wmsys.ltUtil.bitor(wmsys.ltUtil.bitclear(wm$flag, 98304), :1)' ;
end if ;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null)) then
null ;
end if;
update wmsys.wm$versioned_tables$
set ' || substr(sqlstr, 2) || '
where vtid#=:2 ;
end;' using flag_v, vtid ;
end if ;
end;
/
create or replace trigger wmsys.wm$cp_d_trig instead of delete on wmsys.wm$column_props for each row
declare
vtid integer := wmsys.ltUtil.getVtid(:old.owner, :old.table_name) ;
begin
update wmsys.wm$versioned_tables$
set wm$flag = wmsys.ltUtil.bitclear(wm$flag, 98304)
where vtid# = vtid ;
end;
/
create or replace trigger wmsys.wm$ct_i_trig instead of insert on wmsys.wm$constraints_table for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$constraints_table$f(:new.constraint_type, :new.status, :new.index_type) ;
insert into wmsys.wm$constraints_table$(vtid#, constraint_name, search_condition, index_owner, index_name, aliasedcolumns, numindexcols, wm$flag, owner)
values (vtid, :new.constraint_name, :new.search_condition, :new.index_owner, :new.index_name, :new.aliasedcolumns, :new.numindexcols, flag_v, :new.owner) ;
end;
/
create or replace trigger wmsys.wm$ct_u_trig instead of update on wmsys.wm$constraints_table for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:old.owner, :old.table_name) ;
begin
if (updating('STATUS')) then
flag_v := wmsys.owm_dml_pkg.wm$constraints_table$f(:new.constraint_type, :new.status, :new.index_type) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (updating('CONSTRAINT_NAME')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' constraint_name=:2' ;
end if;
if (updating('INDEX_NAME')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' index_name=:3' ;
end if;
if (updating('ALIASEDCOLUMNS')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' aliasedcolumns=:4' ;
end if;
if (updating('NUMINDEXCOLS')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' numindexcols=:5' ;
end if;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null or :4 is null or :5 is null or :6 is null or :7 is null or :8 is null)) then
null ;
end if;
update wmsys.wm$constraints_table$
set ' || substr(sqlstr, 2) || '
where vtid#=:6 and constraint_name=:7 and bitand(wm$flag, 8)=decode(:8, ''DISABLED'', 0, ''ENABLED'', 8);
end;' using flag_v, :new.constraint_name, :new.index_name, :new.aliasedcolumns, :new.numindexcols,
vtid, :old.constraint_name, :old.status ;
end if ;
end;
/
create or replace trigger wmsys.wm$cc_i_trig instead of insert on wmsys.wm$cons_columns for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
insert into wmsys.wm$cons_columns$(vtid#, constraint_name, column_name, position)
values (vtid, :new.constraint_name, :new.column_name, :new.position) ;
end;
/
create or replace trigger wmsys.wm$ev_i_trig instead of insert on wmsys.wm$env_vars for each row
declare
flag_v integer := 0;
begin
flag_v := wmsys.owm_dml_pkg.wm$env_vars$f(:new.hidden) ;
insert into wmsys.wm$env_vars$(name, value, wm$flag)
values (:new.name, :new.value, flag_v) ;
end;
/
create or replace trigger wmsys.wm$ei_i_trig instead of insert on wmsys.wm$events_info for each row
declare
flag_v integer := 0;
begin
flag_v := wmsys.owm_dml_pkg.wm$events_info$f(:new.capture) ;
insert into wmsys.wm$events_info$(event_name, wm$flag)
values (:new.event_name, flag_v) ;
end;
/
create or replace trigger wmsys.wm$ei_u_trig instead of update on wmsys.wm$events_info for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
begin
if (updating('CAPTURE')) then
flag_v := wmsys.owm_dml_pkg.wm$events_info$f(:new.capture) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null)) then
null ;
end if;
update wmsys.wm$events_info$
set ' || substr(sqlstr, 2) || '
where event_name=:2;
end;' using flag_v, :old.event_name ;
end if ;
end;
/
create or replace trigger wmsys.wm$ht_i_trig instead of insert on wmsys.wm$hint_table for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$hint_table$f(:new.isdefault) ;
insert into wmsys.wm$hint_table$(hint_id, vtid#, hint_text, wm$flag)
values (:new.hint_id, vtid, :new.hint_text, flag_v) ;
end;
/
create or replace trigger wmsys.wm$li_i_trig instead of insert on wmsys.wm$lockrows_info for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
insert into wmsys.wm$lockrows_info$(workspace#, vtid#, where_clause)
values (ws#, vtid, :new.where_clause) ;
end;
/
create or replace trigger wmsys.wm$mt_i_trig instead of insert on wmsys.wm$modified_tables for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
vtid integer := wmsys.ltUtil.getVtid(substr(upper(:new.table_name), 1, instr(:new.table_name, '.')-1),
substr(upper(:new.table_name), instr(:new.table_name, '.')+1)) ;
begin
insert into wmsys.wm$modified_tables$(vtid#, version, workspace#)
values (vtid, :new.version, ws#) ;
end;
/
create or replace trigger wmsys.wm$mgwt_i_trig instead of insert on wmsys.wm$mp_graph_workspaces_table for each row
declare
flag_v integer := 0;
ws#1 integer := wmsys.ltUtil.getWorkspaceLockId(:new.mp_leaf_workspace) ;
ws#2 integer := wmsys.ltUtil.getWorkspaceLockId(:new.mp_graph_workspace) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$mp_graph_workspaces_table$f(:new.mp_graph_flag) ;
insert into wmsys.wm$mp_graph_workspaces_table$(mp_leaf_workspace#, mp_graph_workspace#, anc_version, wm$flag)
values (ws#1, ws#2, :new.anc_version, flag_v) ;
end;
/
create or replace trigger wmsys.wm$mpwt_i_trig instead of insert on wmsys.wm$mp_parent_workspaces_table for each row
declare
flag_v integer := 0;
ws#1 integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
ws#2 integer := wmsys.ltUtil.getWorkspaceLockId(:new.parent_workspace) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$mp_parent_workspaces_t$f(:new.isrefreshed, :new.parent_flag) ;
insert into wmsys.wm$mp_parent_workspaces_table$(workspace#, parent_workspace#, parent_version, creator, createtime, wm$flag)
values (ws#1, ws#2, :new.parent_version, :new.creator, :new.createtime, flag_v) ;
end;
/
create or replace trigger wmsys.wm$mw_i_trig instead of insert on wmsys.wm$mw_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
insert into wmsys.wm$mw_table$(workspace#)
values (ws#) ;
end;
/
create or replace trigger wmsys.wm$nct_i_trig instead of insert on wmsys.wm$nested_columns_table for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
insert into wmsys.wm$nested_columns_table$(vtid#, column_name, position, type_owner, type_name, nt_owner, nt_name, nt_store)
values (vtid, :new.column_name, :new.position, :new.type_owner, :new.type_name, :new.nt_owner, :new.nt_name, :new.nt_store) ;
end;
/
create or replace trigger wmsys.wm$nt_i_trig instead of insert on wmsys.wm$nextver_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
insert into wmsys.wm$nextver_table$(version, workspace#, next_vers, split)
values (:new.version, ws#, :new.next_vers, :new.split) ;
end;
/
create or replace trigger wmsys.wm$rwt_i_trig instead of insert on wmsys.wm$resolve_workspaces_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$resolve_workspaces_table$f(:new.oldfreezemode) ;
insert into wmsys.wm$resolve_workspaces_table$(workspace#, resolve_user, undo_sp#, oldfreezewriter, wm$flag)
values (ws#, :new.resolve_user, :new.undo_sp_ver, :new.oldfreezewriter, flag_v) ;
end;
/
create or replace trigger wmsys.wm$rlt_i_trig instead of insert on wmsys.wm$ric_locking_table for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.pt_owner, :new.pt_name) ;
begin
insert into wmsys.wm$ric_locking_table$(pt_vtid#, slockno, elockno)
values (vtid, :new.slockno, :new.elockno) ;
end;
/
create or replace trigger wmsys.wm$rt_i_trig instead of insert on wmsys.wm$ric_table for each row
declare
flag_v integer := 0;
vtid1 integer := wmsys.ltUtil.getVtid(:new.ct_owner, :new.ct_name) ;
vtid2 integer := wmsys.ltUtil.getVtid(:new.pt_owner, :new.pt_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$ric_table$f(:new.my_mode, :new.status) ;
insert into wmsys.wm$ric_table$(ct_vtid#, pt_vtid#, ric_name, ct_cols, pt_cols, pt_unique_const_name, wm$flag)
values (vtid1, vtid2, :new.ric_name, :new.ct_cols, :new.pt_cols, :new.pt_unique_const_name, flag_v) ;
flag_v := wmsys.owm_dml_pkg.wm$constraints_table$f('R', :new.status, null) ;
insert into wmsys.wm$constraints_table$(vtid#, constraint_name, wm$flag, owner) values(vtid1, :new.ric_name, flag_v, :new.ct_owner) ;
end;
/
create or replace trigger wmsys.wm$rt_d_trig instead of delete on wmsys.wm$ric_table for each row
declare
vtid integer := wmsys.ltUtil.getVtid(:old.ct_owner, :old.ct_name) ;
begin
delete wmsys.wm$ric_table$
where ct_vtid# = vtid and
ric_name = :old.ric_name ;
delete wmsys.wm$constraints_table$
where vtid# = vtid and
constraint_name = :old.ric_name ;
end ;
/
create or replace trigger wmsys.wm$rtt_i_trig instead of insert on wmsys.wm$ric_triggers_table for each row
declare
flag_v integer := 0;
vtid1 integer := wmsys.ltUtil.getVtid(:new.pt_owner, :new.pt_name) ;
vtid2 integer := wmsys.ltUtil.getVtid(:new.ct_owner, :new.ct_name) ;
begin
insert into wmsys.wm$ric_triggers_table$(pt_vtid#, ct_vtid#, trig#)
values (vtid1, vtid2, regexp_substr(:new.update_trigger_name, '[[:digit:]]+$')) ;
end;
/
create or replace trigger wmsys.wm$sav_i_trig instead of insert on wmsys.wm$sysparam_all_values for each row
declare
flag_v integer := 0;
begin
flag_v := wmsys.owm_dml_pkg.wm$sysparam_all_values$f(:new.isdefault, :new.hidden) ;
insert into wmsys.wm$sysparam_all_values$(name, value, wm$flag)
values (:new.name, :new.value, flag_v) ;
end;
/
create or replace trigger wmsys.wm$udp_i_trig instead of insert on wmsys.wm$udtrig_dispatch_procs for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.table_owner_name, :new.table_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$udtrig_dispatch_procs$f(:new.trig_flag) ;
insert into wmsys.wm$udtrig_dispatch_procs$(vtid#, proc#, wm$flag)
values (vtid, regexp_substr(:new.dispatcher_name, '[[:digit:]]+$'), flag_v) ;
end;
/
create or replace trigger wmsys.wm$ui_i_trig instead of insert on wmsys.wm$udtrig_info for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.table_owner_name, :new.table_name) ;
trig_t integer ;
u_flag boolean ;
begin
flag_v := wmsys.owm_dml_pkg.wm$udtrig_info$f(:new.trig_flag, :new.status, :new.internal_type, :new.event_flag) ;
insert into wmsys.wm$udtrig_info$(trig_owner_name, trig_name, vtid#, proc#, when_clause, description, trig_code, wm$flag)
values (:new.trig_owner_name, :new.trig_name, vtid, regexp_substr(:new.trig_procedure, '[[:digit:]]+$'),
:new.when_clause, :new.description, :new.trig_code, flag_v) ;
end;
/
create or replace trigger wmsys.wm$ud_u_trig instead of update on wmsys.wm$udtrig_info for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.table_owner_name, :new.table_name) ;
trig_t integer ;
u_flag boolean ;
begin
if (updating('TRIG_FLAG') or updating('EVENT_FLAG')) then
flag_v := wmsys.owm_dml_pkg.wm$udtrig_info$f(:new.trig_flag, :new.status, :new.internal_type, :new.event_flag) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (updating('TRIG_PROCEDURE')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' proc#=:2' ;
end if;
if (updating('DESCRIPTION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' description=:3' ;
end if;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null or :4 is null or :5 is null)) then
null ;
end if;
update wmsys.wm$udtrig_info$
set ' || substr(sqlstr, 2) || '
where trig_owner_name=:4 and trig_name=:5;
end;' using flag_v, regexp_substr(:new.trig_procedure, '[[:digit:]]+$'), :new.description, :old.trig_owner_name, :old.trig_name ;
end if ;
end;
/
create or replace trigger wmsys.wm$vth_i_trig instead of insert on wmsys.wm$versioned_tables$h for each row
declare
flag_v integer := 0;
begin
flag_v := wmsys.owm_dml_pkg.wm$versioned_tables$f(:new.disabling_ver, :new.hist, :new.validtime, :new.bl_savepoint,
:new.bl_check_for_duplicates, :new.bl_single_transaction, null) ;
insert into wmsys.wm$versioned_tables$(vtid#, table_name, owner, ricweight, pkey_cols, undo_code, bl_version, wm$flag)
values (:new.vtid, :new.table_name, :new.owner, :new.ricweight, :new.pkey_cols, :new.undo_code, :new.bl_version, flag_v) ;
end;
/
create or replace trigger wmsys.wm$vth_u_trig instead of update on wmsys.wm$versioned_tables$h for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
begin
if (updating('DISABLING_VER') or updating('HIST') or updating('VALIDTIME') or
updating('BL_SAVEPOINT') or updating('BL_CHECK_FOR_DUPLICATES') or updating('BL_SINGLE_TRANSACTION')) then
flag_v := wmsys.owm_dml_pkg.wm$versioned_tables$f(:new.disabling_ver, :new.hist, :new.validtime, :new.bl_savepoint,
:new.bl_check_for_duplicates, :new.bl_single_transaction, :new.identity_type) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (updating('RICWEIGHT')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' ricweight=:2' ;
end if;
if (updating('PKEY_COLS')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' pkey_cols=:3' ;
end if;
if (updating('UNDO_CODE')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' undo_code=:4' ;
end if;
if (updating('BL_VERSION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' bl_version=:5' ;
end if;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null or :4 is null or :5 is null or :6 is null or :7 is null)) then
null ;
end if;
update wmsys.wm$versioned_tables$
set ' || substr(sqlstr, 2) || '
where owner=:6 and table_name=:7;
end;' using flag_v, :new.ricweight, :new.pkey_cols, :new.undo_code, :new.bl_version, :old.owner, :old.table_name ;
end if ;
end;
/
create or replace trigger wmsys.wm$vth_d_trig instead of delete on wmsys.wm$versioned_tables$h for each row
begin
delete wmsys.wm$batch_compressible_tables$
where vtid#=:old.vtid ;
delete wmsys.wm$constraints_table$
where vtid#=:old.vtid ;
delete wmsys.wm$cons_columns$
where vtid#=:old.vtid ;
delete wmsys.wm$hint_table$
where vtid#=:old.vtid ;
delete wmsys.wm$lockrows_info$
where vtid#=:old.vtid ;
delete wmsys.wm$modified_tables$
where vtid#=:old.vtid ;
delete wmsys.wm$nested_columns_table$
where vtid#=:old.vtid ;
delete wmsys.wm$ric_table$
where ct_vtid#=:old.vtid ;
delete wmsys.wm$ric_triggers_table$
where ct_vtid#=:old.vtid ;
delete wmsys.wm$udtrig_dispatch_procs$
where vtid#=:old.vtid ;
delete wmsys.wm$udtrig_info$
where vtid#=:old.vtid ;
delete wmsys.wm$vt_errors_table$
where vtid#=:old.vtid ;
delete wmsys.wm$versioned_tables$
where vtid#=:old.vtid ;
end;
/
create or replace trigger wmsys.wm$vth_nt_i_trig instead of insert on nested table undo_code of wmsys.wm$versioned_tables$h for each row
begin
insert into table(select undo_code from wmsys.wm$versioned_tables$ where owner=:parent.owner and table_name=:parent.table_name)
values(:new.index_type, :new.index_field, :new.sql_str) ;
end;
/
create or replace trigger wmsys.wm$vth_nt_u_trig instead of update on nested table undo_code of wmsys.wm$versioned_tables$h for each row
begin
update table (select undo_code from wmsys.wm$versioned_tables$ where owner=:parent.owner and table_name=:parent.table_name)
set sql_str = :new.sql_str
where index_type = index_type and
index_field = index_field ;
end;
/
create or replace trigger wmsys.wm$vth_nt_d_trig instead of delete on nested table undo_code of wmsys.wm$versioned_tables$h for each row
begin
delete table (select undo_code from wmsys.wm$versioned_tables$ where owner=:parent.owner and table_name=:parent.table_name)
where index_type = :old.index_type and
index_field = :old.index_field ;
end;
/
create or replace trigger wmsys.wm$vht_i_trig instead of insert on wmsys.wm$version_hierarchy_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
insert into wmsys.wm$version_hierarchy_table$(version, parent_version, workspace#)
values (:new.version, :new.parent_version, ws#) ;
end;
/
create or replace trigger wmsys.wm$vt_i_trig instead of insert on wmsys.wm$version_table for each row
declare
flag_v integer := 0;
ws#1 integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
ws#2 integer := wmsys.ltUtil.getWorkspaceLockId(:new.anc_workspace) ;
refcount integer := :new.refcount ;
begin
if (refcount is null) then
refcount := 0 ;
end if ;
insert into wmsys.wm$version_table$(workspace#, anc_workspace#, anc_version, anc_depth, refcount)
values (ws#1, ws#2, :new.anc_version, :new.anc_depth, refcount) ;
end;
/
create or replace trigger wmsys.wm$vet_i_trig instead of insert on wmsys.wm$vt_errors_table for each row
declare
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:new.owner, :new.table_name) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$vt_errors_table$f(:new.status) ;
insert into wmsys.wm$vt_errors_table$(vtid#, index_type, index_field, error_msg, wm$flag)
values (vtid, :new.index_type, :new.index_field, :new.error_msg, flag_v) ;
end;
/
create or replace trigger wmsys.wm$vet_u_trig instead of update on wmsys.wm$vt_errors_table for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
vtid integer := wmsys.ltUtil.getVtid(:old.owner, :old.table_name) ;
begin
if (updating('STATUS')) then
flag_v := wmsys.owm_dml_pkg.wm$vt_errors_table$f(:new.status) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (updating('ERROR_MSG')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' error_msg=:2' ;
end if;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null)) then
null ;
end if;
update wmsys.wm$vt_errors_table$
set ' || substr(sqlstr, 2) || '
where vtid#=:3;
end;' using flag_v, :new.error_msg, vtid ;
end if ;
end;
/
create or replace trigger wmsys.wm$wt_i_trig instead of insert on wmsys.wm$workspaces_table$d for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.parent_workspace) ;
last_change timestamp with time zone := :new.last_change ;
begin
flag_v := wmsys.owm_dml_pkg.wm$workspaces_table$f(:new.freeze_status, :new.freeze_mode, :new.wm_lockmode,
:new.isrefreshed, :new.session_duration, :new.cr_status, :new.keep) ;
if (last_change is null) then
last_change := systimestamp ;
end if ;
insert into wmsys.wm$workspaces_table$(workspace, parent_workspace#, current_version, parent_version, post_version,
owner, createtime, description, workspace_lock_id, freeze_writer, freeze_owner,
sync_parver, last_change, depth, mp_root, wm$flag)
values (:new.workspace, ws#, :new.current_version, :new.parent_version, :new.post_version, :new.owner, :new.createtime,
:new.description, :new.workspace_lock_id, :new.freeze_writer, :new.freeze_owner,
:new.sync_parver, last_change, :new.depth, :new.mp_root, flag_v) ;
end;
/
create or replace trigger wmsys.wm$wt_u_trig instead of update on wmsys.wm$workspaces_table$d for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
begin
if (updating('FREEZE_STATUS') or updating('FREEZE_MODE') or updating('WM_LOCKMODE') or
updating('ISREFRESHED') or updating('SESSION_DURATION') or updating('CR_STATUS') or updating('KEEP')) then
flag_v := wmsys.owm_dml_pkg.wm$workspaces_table$f(:new.freeze_status, :new.freeze_mode, :new.wm_lockmode,
:new.isrefreshed, :new.session_duration, :new.cr_status, :new.keep) ;
sqlstr := sqlstr || ' wm$flag=:1' ;
end if ;
if (updating('WORKSPACE')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' workspace=:2' ;
end if;
if (updating('CURRENT_VERSION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' current_version=:3' ;
end if;
if (updating('PARENT_VERSION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' parent_version=:4' ;
end if;
if (updating('POST_VERSION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' post_version=:5' ;
end if;
if (updating('DESCRIPTION')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' description=:6' ;
end if;
if (updating('FREEZE_WRITER')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' freeze_writer=:7' ;
end if;
if (updating('FREEZE_OWNER')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' freeze_owner=:8' ;
end if;
if (updating('SYNC_PARVER')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' sync_parver=:9' ;
end if;
if (updating('LAST_CHANGE')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' last_change=:10' ;
end if;
if (updating('DEPTH')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' depth=:11' ;
end if;
if (updating('MP_ROOT')) then
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' mp_root=:12' ;
end if;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null or :4 is null or :5 is null or :6 is null or
:7 is null or :8 is null or :9 is null or :10 is null or :11 is null or :12 is null or :13 is null)) then
null ;
end if;
update wmsys.wm$workspaces_table$
set ' || substr(sqlstr, 2) || '
where workspace_lock_id=:13;
end;' using flag_v, :new.workspace, :new.current_version, :new.parent_version, :new.post_version, :new.description, :new.freeze_writer,
:new.freeze_owner, :new.sync_parver, :new.last_change, :new.depth, :new.mp_root, :old.workspace_lock_id ;
end if ;
end;
/
create or replace trigger wmsys.wm$wt_d_trig instead of delete on wmsys.wm$workspaces_table$d for each row
begin
delete wmsys.wm$batch_compressible_tables$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$lockrows_info$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$mp_graph_workspaces_table$
where mp_leaf_workspace#=:old.workspace_lock_id ;
delete wmsys.wm$mp_graph_workspaces_table$
where mp_graph_workspace#=:old.workspace_lock_id ;
delete wmsys.wm$mp_parent_workspaces_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$mp_parent_workspaces_table$
where parent_workspace#=:old.workspace_lock_id ;
delete wmsys.wm$mw_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$resolve_workspaces_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$version_hierarchy_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$version_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$version_table$
where anc_workspace#=:old.workspace_lock_id ;
delete wmsys.wm$workspace_priv_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$workspace_savepoints_table$
where workspace#=:old.workspace_lock_id ;
delete wmsys.wm$workspaces_table$
where workspace_lock_id=:old.workspace_lock_id ;
end;
/
create or replace trigger wmsys.wm$wpt_i_trig instead of insert on wmsys.wm$workspace_priv_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$workspace_priv_table$f(:new.priv, :new.admin) ;
insert into wmsys.wm$workspace_priv_table$(grantee, workspace#, grantor, wm$flag)
values (:new.grantee, ws#, :new.grantor, flag_v) ;
end;
/
create or replace trigger wmsys.wm$wpt_u_trig instead of update on wmsys.wm$workspace_priv_table for each row
declare
sqlstr varchar2(32000) ;
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:old.workspace) ;
begin
if (updating('ADMIN')) then
flag_v := wmsys.owm_dml_pkg.wm$workspace_priv_table$f(:new.priv, :new.admin) ;
sqlstr := sqlstr || (case when sqlstr is not null then ',' else null end) || ' wm$flag=:1' ;
end if ;
if (sqlstr is not null) then
execute immediate
'begin
if (1=2 and (:1 is null or :2 is null or :3 is null or :4 is null)) then
null ;
end if;
if (:3 is not null) then
update wmsys.wm$workspace_priv_table$
set ' || substr(sqlstr, 2) || '
where grantee = :2 and
workspace# = :3 and
bitand(wm$flag, 31) = decode(:4, null, 0, ''U'', 0,
''A'', 1, ''M'', 2, ''R'', 3, ''D'', 4, ''C'', 5, ''F'', 6, ''G'', 13,
''AA'', 7, ''MA'', 8, ''RA'', 9, ''DA'', 10, ''CA'', 11, ''FA'', 12, ''GA'', 14,
''W'', 15) ;
else
update wmsys.wm$workspace_priv_table$
set ' || substr(sqlstr, 2) || '
where grantee = :2 and
workspace# is null and
bitand(wm$flag, 31) = decode(:4, null, 0, ''U'', 0,
''A'', 1, ''M'', 2, ''R'', 3, ''D'', 4, ''C'', 5, ''F'', 6, ''G'', 13,
''AA'', 7, ''MA'', 8, ''RA'', 9, ''DA'', 10, ''CA'', 11, ''FA'', 12, ''GA'', 14,
''W'', 15) ;
end if ;
end;' using flag_v, :old.grantee, ws#, :old.priv ;
end if ;
end;
/
create or replace trigger wmsys.wm$wpt_d_trig instead of delete on wmsys.wm$workspace_priv_table for each row
declare
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:old.workspace) ;
flag_v integer := wmsys.owm_dml_pkg.wm$workspace_priv_table$f(:old.priv, null) ;
begin
if (ws# is not null) then
delete wmsys.wm$workspace_priv_table$ where grantee=:old.grantee and workspace#=ws# and bitand(wm$flag, 31) = flag_v ;
else
delete wmsys.wm$workspace_priv_table$ where grantee=:old.grantee and workspace# is null and bitand(wm$flag, 31) = flag_v ;
end if ;
end;
/
create or replace trigger wmsys.wm$wst_i_trig instead of insert on wmsys.wm$workspace_savepoints_table for each row
declare
flag_v integer := 0;
ws# integer := wmsys.ltUtil.getWorkspaceLockId(:new.workspace) ;
begin
flag_v := wmsys.owm_dml_pkg.wm$workspace_savepoints_t$f(:new.is_implicit) ;
insert into wmsys.wm$workspace_savepoints_table$(workspace#, savepoint, version, owner, createtime, description, wm$flag)
values (ws#, :new.savepoint, :new.version, :new.owner, :new.createtime, :new.description, flag_v) ;
end;
/
@@?/rdbms/admin/sqlsessend.sql
OHA YOOOO