Rem Rem Rem Copyright (c) 2004, 2011, Oracle and/or its affiliates. Rem All rights reserved. Rem NAME Rem catmacp.sql Rem Rem DESCRIPTION Rem Public CRUD interface for CODE$ table.(data fault) Rem Rem NOTES Rem Rem MODIFIED (MM/DD/YY) Rem jibyun 05/03/11 - Backport jibyun_bug-12356827 from main Rem jibyun 03/02/11 - Backport jibyun_bug-11662436 from main Rem dvekar 03/02/11 - Backport dvekaria_bug-9068994_1 from main Rem sanbha 03/01/11 - Backport sanbhara_bug-10225918 from main Rem jheng 01/14/09 - add scheduler authorization procedure Rem srtata 12/26/08 - static rule sets Rem rupara 12/18/08 - Bug 7657506 Rem youyan 11/19/08 - add check_is_drop_object_maint in Rem dbms_macsec_events Rem jibyun 05/13/08 - Bug 7550987: Add dbms_macutl.check_streams_admin Rem function Rem jsamue 10/27/08 - remove error messages Rem ssonaw 09/25/08 - Bug-6938843: Add functions for seeded rules Rem jibyun 05/13/08 - Bug 7550987: Add dbms_macutl.check_streams_admin Rem function Rem clei 05/30/08 - Bug 6435192: Add enable_dv_check/disable_dv_check Rem jibyun 04/27/08 - Fix Bug 6908550 Rem jibyun 04/07/08 - Fix Bug 5926711: add a new parameter, p_user, to Rem audit procedures Rem rupara 03/27/08 - Add authorize_datapump_user procedure Rem clei 02/18/08 - Add enable_event and disable_event Rem jibyun 10/31/07 - To fix Bug 6441524 Rem jibyun 07/18/07 - To fix Bug 6068504 Rem rupara 02/23/07 - Bug fix 5900679 Rem rupara 11/17/06 - bug 5594883 Rem rvissa 12/01/06 - alter system set schema Rem clei 12/07/06 - remove VPD dependencies Rem cchuiu 07/05/06 - add more functions for cmd rules enforcement Rem cchui 07/04/06 - fix char string buffer too small in Rem dvsys.event.set Rem fjlee 06/07/06 - add delete_row w/o p_id Rem jcimin 05/02/06 - cleanup embedded file boilerplate Rem jcimin 05/02/06 - created admin/catmacp.sql Rem sgaetj 11/08/05 - unit test fixes Rem sgaetj 11/03/05 - NLS support changes Rem sgaetj 08/11/05 - sgaetjen_dvschema Rem sgaetj 08/05/05 - Merge into ADE with Protected Schema Rem sgaetj 07/29/05 - Created Rem sgaetj 07/28/05 - dos2unix Rem raustin Thu Dec 16 13:28:36 EST 2004 - Generated Rem Rem Rem Rem Set the current schema to dvsys Rem This script should do this within itself as it can be called by relod scripts also Rem apart from catmac.sql ALTER SESSION SET CURRENT_SCHEMA = DVSYS; CREATE OR REPLACE PACKAGE DVSYS.CODE$_priv AS TYPE attribute_rec IS RECORD ( ID# CODE$.ID#%TYPE , CODE_GROUP CODE$.CODE_GROUP%TYPE , CODE CODE$.CODE%TYPE --, VALUE CODE$.VALUE%TYPE --, LANGUAGE CODE_T$.LANGUAGE%TYPE --, DESCRIPTION CODE_T$.DESCRIPTION%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_CODE_GROUP IN VARCHAR2, p_CODE IN VARCHAR2, p_VALUE IN VARCHAR2, p_LANGUAGE IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_CODE_GROUP OUT VARCHAR2 , x_CODE OUT VARCHAR2 , x_VALUE OUT VARCHAR2 , x_LANGUAGE OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_CODE_GROUP IN VARCHAR2 , p_CODE IN VARCHAR2 , p_VALUE IN VARCHAR2 , p_LANGUAGE IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for COMMAND_RULE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.COMMAND_RULE$_priv AS TYPE attribute_rec IS RECORD ( ID# COMMAND_RULE$.ID#%TYPE , CODE_ID# COMMAND_RULE$.CODE_ID#%TYPE , RULE_SET_ID# COMMAND_RULE$.RULE_SET_ID#%TYPE , OBJECT_OWNER COMMAND_RULE$.OBJECT_OWNER%TYPE , OBJECT_NAME COMMAND_RULE$.OBJECT_NAME%TYPE , ENABLED COMMAND_RULE$.ENABLED%TYPE , PRIVILEGE_SCOPE COMMAND_RULE$.PRIVILEGE_SCOPE%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_CODE_ID# IN NUMBER, p_RULE_SET_ID# IN NUMBER, p_OBJECT_OWNER IN VARCHAR2, p_OBJECT_NAME IN VARCHAR2, p_ENABLED IN VARCHAR2, p_PRIVILEGE_SCOPE IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_CODE_ID# OUT NUMBER , x_RULE_SET_ID# OUT NUMBER , x_OBJECT_OWNER OUT VARCHAR2 , x_OBJECT_NAME OUT VARCHAR2 , x_ENABLED OUT VARCHAR2 ); PROCEDURE read_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_CODE_ID#_( p_CODE_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_CODE_ID# IN NUMBER , p_RULE_SET_ID# IN NUMBER , p_OBJECT_OWNER IN VARCHAR2 , p_OBJECT_NAME IN VARCHAR2 , p_ENABLED IN VARCHAR2 , p_PRIVILEGE_SCOPE IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_CODE_ID#_( p_CODE_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for DOCUMENT$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.DOCUMENT$_priv AS TYPE attribute_rec IS RECORD ( ID# DOCUMENT$.ID#%TYPE , NAME DOCUMENT$.NAME%TYPE , DOC_TYPE DOCUMENT$.DOC_TYPE%TYPE , DOC_REVISION DOCUMENT$.DOC_REVISION%TYPE , ENABLED DOCUMENT$.ENABLED%TYPE , XML_DATA DOCUMENT$.XML_DATA%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DOC_TYPE IN NUMBER, p_DOC_REVISION IN VARCHAR2, p_ENABLED IN NUMBER, p_XML_DATA IN CLOB, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DOC_TYPE OUT NUMBER , x_DOC_REVISION OUT VARCHAR2 , x_ENABLED OUT NUMBER , x_XML_DATA OUT CLOB ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DOC_TYPE IN NUMBER , p_DOC_REVISION IN VARCHAR2 , p_ENABLED IN NUMBER , p_XML_DATA IN CLOB ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for FACTOR$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.FACTOR$_priv AS TYPE attribute_rec IS RECORD ( ID# FACTOR$.ID#%TYPE , NAME FACTOR$.NAME%TYPE -- , DESCRIPTION FACTOR$.DESCRIPTION%TYPE , FACTOR_TYPE_ID# FACTOR$.FACTOR_TYPE_ID#%TYPE , ASSIGN_RULE_SET_ID# FACTOR$.ASSIGN_RULE_SET_ID#%TYPE , GET_EXPR FACTOR$.GET_EXPR%TYPE , VALIDATE_EXPR FACTOR$.VALIDATE_EXPR%TYPE , IDENTIFIED_BY FACTOR$.IDENTIFIED_BY%TYPE , NAMESPACE FACTOR$.NAMESPACE%TYPE , NAMESPACE_ATTRIBUTE FACTOR$.NAMESPACE_ATTRIBUTE%TYPE , LABELED_BY FACTOR$.LABELED_BY%TYPE , EVAL_OPTIONS FACTOR$.EVAL_OPTIONS%TYPE , AUDIT_OPTIONS FACTOR$.AUDIT_OPTIONS%TYPE , FAIL_OPTIONS FACTOR$.FAIL_OPTIONS%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, p_FACTOR_TYPE_ID# IN NUMBER, p_ASSIGN_RULE_SET_ID# IN NUMBER, p_GET_EXPR IN VARCHAR2, p_VALIDATE_EXPR IN VARCHAR2, p_IDENTIFIED_BY IN NUMBER, p_NAMESPACE IN VARCHAR2, p_NAMESPACE_ATTRIBUTE IN VARCHAR2, p_LABELED_BY IN NUMBER, p_EVAL_OPTIONS IN NUMBER, p_AUDIT_OPTIONS IN NUMBER, p_FAIL_OPTIONS IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 , x_FACTOR_TYPE_ID# OUT NUMBER , x_ASSIGN_RULE_SET_ID# OUT NUMBER , x_GET_EXPR OUT VARCHAR2 , x_VALIDATE_EXPR OUT VARCHAR2 , x_IDENTIFIED_BY OUT NUMBER , x_NAMESPACE OUT VARCHAR2 , x_NAMESPACE_ATTRIBUTE OUT VARCHAR2 , x_LABELED_BY OUT NUMBER , x_EVAL_OPTIONS OUT NUMBER , x_AUDIT_OPTIONS OUT NUMBER , x_FAIL_OPTIONS OUT NUMBER ); PROCEDURE read_by_FACTOR_TYPE_ID#_( p_FACTOR_TYPE_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_ASSIGN_RULE_SET_ID#_( p_ASSIGN_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 , p_FACTOR_TYPE_ID# IN NUMBER , p_ASSIGN_RULE_SET_ID# IN NUMBER , p_GET_EXPR IN VARCHAR2 , p_VALIDATE_EXPR IN VARCHAR2 , p_IDENTIFIED_BY IN NUMBER , p_NAMESPACE IN VARCHAR2 , p_NAMESPACE_ATTRIBUTE IN VARCHAR2 , p_LABELED_BY IN NUMBER , p_EVAL_OPTIONS IN NUMBER , p_AUDIT_OPTIONS IN NUMBER , p_FAIL_OPTIONS IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_FACTOR_TYPE_ID#_( p_FACTOR_TYPE_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_ASSIGN_RULE_SET_ID#_( p_ASSIGN_RULE_SET_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for FACTOR_LINK$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.FACTOR_LINK$_priv AS TYPE attribute_rec IS RECORD ( ID# FACTOR_LINK$.ID#%TYPE , PARENT_FACTOR_ID# FACTOR_LINK$.PARENT_FACTOR_ID#%TYPE , CHILD_FACTOR_ID# FACTOR_LINK$.CHILD_FACTOR_ID#%TYPE , LABEL_IND FACTOR_LINK$.LABEL_IND%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_PARENT_FACTOR_ID# IN NUMBER, p_CHILD_FACTOR_ID# IN NUMBER, p_LABEL_IND IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_PARENT_FACTOR_ID# OUT NUMBER , x_CHILD_FACTOR_ID# OUT NUMBER , x_LABEL_IND OUT VARCHAR2 ); PROCEDURE read_by_PARENT_FACTOR_ID#_( p_PARENT_FACTOR_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_CHILD_FACTOR_ID#_( p_CHILD_FACTOR_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_PARENT_FACTOR_ID# IN NUMBER , p_CHILD_FACTOR_ID# IN NUMBER , p_LABEL_IND IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_PARENT_FACTOR_ID#_( p_PARENT_FACTOR_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_CHILD_FACTOR_ID#_( p_CHILD_FACTOR_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for FACTOR_TYPE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.FACTOR_TYPE$_priv AS TYPE attribute_rec IS RECORD ( ID# FACTOR_TYPE$.ID#%TYPE --, NAME FACTOR_TYPE$.NAME%TYPE --, DESCRIPTION FACTOR_TYPE$.DESCRIPTION%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for IDENTITY$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.IDENTITY$_priv AS TYPE attribute_rec IS RECORD ( ID# IDENTITY$.ID#%TYPE , FACTOR_ID# IDENTITY$.FACTOR_ID#%TYPE , VALUE IDENTITY$.VALUE%TYPE , TRUST_LEVEL IDENTITY$.TRUST_LEVEL%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_FACTOR_ID# IN NUMBER, p_VALUE IN VARCHAR2, p_TRUST_LEVEL IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_FACTOR_ID# OUT NUMBER , x_VALUE OUT VARCHAR2 , x_TRUST_LEVEL OUT NUMBER ); PROCEDURE read_by_FACTOR_ID#_( p_FACTOR_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_FACTOR_ID# IN NUMBER , p_VALUE IN VARCHAR2 , p_TRUST_LEVEL IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_FACTOR_ID#_( p_FACTOR_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for IDENTITY_MAP$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.IDENTITY_MAP$_priv AS TYPE attribute_rec IS RECORD ( ID# IDENTITY_MAP$.ID#%TYPE , IDENTITY_ID# IDENTITY_MAP$.IDENTITY_ID#%TYPE , FACTOR_LINK_ID# IDENTITY_MAP$.FACTOR_LINK_ID#%TYPE , OPERATION_CODE_ID# IDENTITY_MAP$.OPERATION_CODE_ID#%TYPE , OPERAND1 IDENTITY_MAP$.OPERAND1%TYPE , OPERAND2 IDENTITY_MAP$.OPERAND2%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_IDENTITY_ID# IN NUMBER, p_FACTOR_LINK_ID# IN NUMBER, p_OPERATION_CODE_ID# IN NUMBER, p_OPERAND1 IN VARCHAR2, p_OPERAND2 IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_IDENTITY_ID# OUT NUMBER , x_FACTOR_LINK_ID# OUT NUMBER , x_OPERATION_CODE_ID# OUT NUMBER , x_OPERAND1 OUT VARCHAR2 , x_OPERAND2 OUT VARCHAR2 ); PROCEDURE read_by_IDENTITY_ID#_( p_IDENTITY_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_FACTOR_LINK_ID#_( p_FACTOR_LINK_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_OPERATION_CODE_ID#_( p_OPERATION_CODE_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_IDENTITY_ID# IN NUMBER , p_FACTOR_LINK_ID# IN NUMBER , p_OPERATION_CODE_ID# IN NUMBER , p_OPERAND1 IN VARCHAR2 , p_OPERAND2 IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_IDENTITY_ID#_( p_IDENTITY_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_FACTOR_LINK_ID#_( p_FACTOR_LINK_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_OPERATION_CODE_ID#_( p_OPERATION_CODE_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for MAC_POLICY$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.MAC_POLICY$_priv AS TYPE attribute_rec IS RECORD ( ID# MAC_POLICY$.ID#%TYPE , POLICY_ID# MAC_POLICY$.POLICY_ID#%TYPE , ALGORITHM_CODE_ID# MAC_POLICY$.ALGORITHM_CODE_ID#%TYPE , ERROR_LABEL MAC_POLICY$.ERROR_LABEL%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_POLICY_ID# IN NUMBER, p_ALGORITHM_CODE_ID# IN NUMBER, p_ERROR_LABEL IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_POLICY_ID# OUT NUMBER , x_ALGORITHM_CODE_ID# OUT NUMBER , x_ERROR_LABEL OUT VARCHAR2 ); PROCEDURE read_by_ALGORITHM_CODE_ID#_( p_ALGORITHM_CODE_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_POLICY_ID# IN NUMBER , p_ALGORITHM_CODE_ID# IN NUMBER , p_ERROR_LABEL IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_ALGORITHM_CODE_ID#_( p_ALGORITHM_CODE_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for MAC_POLICY_FACTOR$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.MAC_POLICY_FACTOR$_priv AS TYPE attribute_rec IS RECORD ( ID# MAC_POLICY_FACTOR$.ID#%TYPE , FACTOR_ID# MAC_POLICY_FACTOR$.FACTOR_ID#%TYPE , MAC_POLICY_ID# MAC_POLICY_FACTOR$.MAC_POLICY_ID#%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_FACTOR_ID# IN NUMBER, p_MAC_POLICY_ID# IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_FACTOR_ID# OUT NUMBER , x_MAC_POLICY_ID# OUT NUMBER ); PROCEDURE read_by_FACTOR_ID#_( p_FACTOR_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_MAC_POLICY_ID#_( p_MAC_POLICY_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_FACTOR_ID# IN NUMBER , p_MAC_POLICY_ID# IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_FACTOR_ID#_( p_FACTOR_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_MAC_POLICY_ID#_( p_MAC_POLICY_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for POLICY_LABEL$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.POLICY_LABEL$_priv AS TYPE attribute_rec IS RECORD ( ID# POLICY_LABEL$.ID#%TYPE , IDENTITY_ID# POLICY_LABEL$.IDENTITY_ID#%TYPE , POLICY_ID# POLICY_LABEL$.POLICY_ID#%TYPE , LABEL_ID# POLICY_LABEL$.LABEL_ID#%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_IDENTITY_ID# IN NUMBER, p_POLICY_ID# IN NUMBER, p_LABEL_ID# IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_IDENTITY_ID# OUT NUMBER , x_POLICY_ID# OUT NUMBER , x_LABEL_ID# OUT NUMBER ); PROCEDURE read_by_IDENTITY_ID#_( p_IDENTITY_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_IDENTITY_ID# IN NUMBER , p_POLICY_ID# IN NUMBER , p_LABEL_ID# IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_IDENTITY_ID#_( p_IDENTITY_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for REALM_AUTH$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.REALM_AUTH$_priv AS TYPE attribute_rec IS RECORD ( ID# REALM_AUTH$.ID#%TYPE , REALM_ID# REALM_AUTH$.REALM_ID#%TYPE , GRANTEE REALM_AUTH$.GRANTEE%TYPE , AUTH_RULE_SET_ID# REALM_AUTH$.AUTH_RULE_SET_ID#%TYPE , AUTH_OPTIONS REALM_AUTH$.AUTH_OPTIONS%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_REALM_ID# IN NUMBER, p_GRANTEE IN VARCHAR2, p_AUTH_RULE_SET_ID# IN NUMBER, p_AUTH_OPTIONS IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_REALM_ID# OUT NUMBER , x_GRANTEE OUT VARCHAR2 , x_AUTH_RULE_SET_ID# OUT NUMBER , x_AUTH_OPTIONS OUT NUMBER ); PROCEDURE read_by_REALM_ID#_( p_REALM_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_AUTH_RULE_SET_ID#_( p_AUTH_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_REALM_ID# IN NUMBER , p_GRANTEE IN VARCHAR2 , p_AUTH_RULE_SET_ID# IN NUMBER , p_AUTH_OPTIONS IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_REALM_ID#_( p_REALM_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_AUTH_RULE_SET_ID#_( p_AUTH_RULE_SET_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for REALM$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.REALM$_priv AS TYPE attribute_rec IS RECORD ( ID# REALM$.ID#%TYPE --, NAME REALM$.NAME%TYPE --, DESCRIPTION REALM$.DESCRIPTION%TYPE , ENABLED REALM$.ENABLED%TYPE , AUDIT_OPTIONS REALM$.AUDIT_OPTIONS%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, p_ENABLED IN VARCHAR2, p_AUDIT_OPTIONS IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 , x_ENABLED OUT VARCHAR2 , x_AUDIT_OPTIONS OUT NUMBER ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 , p_ENABLED IN VARCHAR2 , p_AUDIT_OPTIONS IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for REALM_OBJECT$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.REALM_OBJECT$_priv AS TYPE attribute_rec IS RECORD ( ID# REALM_OBJECT$.ID#%TYPE , REALM_ID# REALM_OBJECT$.REALM_ID#%TYPE , OWNER REALM_OBJECT$.OWNER%TYPE , OBJECT_NAME REALM_OBJECT$.OBJECT_NAME%TYPE , OBJECT_TYPE REALM_OBJECT$.OBJECT_TYPE%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_REALM_ID# IN NUMBER, p_OWNER IN VARCHAR2, p_OBJECT_NAME IN VARCHAR2, p_OBJECT_TYPE IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_REALM_ID# OUT NUMBER , x_OWNER OUT VARCHAR2 , x_OBJECT_NAME OUT VARCHAR2 , x_OBJECT_TYPE OUT VARCHAR2 ); PROCEDURE read_by_REALM_ID#_( p_REALM_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_REALM_ID# IN NUMBER , p_OWNER IN VARCHAR2 , p_OBJECT_NAME IN VARCHAR2 , p_OBJECT_TYPE IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); -- Delete method, doesn't require p_id# PROCEDURE delete_row( p_REALM_NAME IN VARCHAR2, p_OWNER IN VARCHAR2, p_OBJECT_NAME IN VARCHAR2, p_OBJECT_TYPE IN VARCHAR2); PROCEDURE delete_by_REALM_ID#_( p_REALM_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for ROLE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.ROLE$_priv AS TYPE attribute_rec IS RECORD ( ID# ROLE$.ID#%TYPE , ROLE ROLE$.ROLE%TYPE , RULE_SET_ID# ROLE$.RULE_SET_ID#%TYPE , ENABLED ROLE$.ENABLED%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_ROLE IN VARCHAR2, p_RULE_SET_ID# IN NUMBER, p_ENABLED IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_ROLE OUT VARCHAR2 , x_RULE_SET_ID# OUT NUMBER , x_ENABLED OUT VARCHAR2 ); PROCEDURE read_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_ROLE IN VARCHAR2 , p_RULE_SET_ID# IN NUMBER , p_ENABLED IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for RULE_SET$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.RULE_SET$_priv AS TYPE attribute_rec IS RECORD ( ID# RULE_SET$.ID#%TYPE --, NAME RULE_SET$.NAME%TYPE --, DESCRIPTION RULE_SET$.DESCRIPTION%TYPE , ENABLED RULE_SET$.ENABLED%TYPE , EVAL_OPTIONS RULE_SET$.EVAL_OPTIONS%TYPE , AUDIT_OPTIONS RULE_SET$.AUDIT_OPTIONS%TYPE , FAIL_OPTIONS RULE_SET$.FAIL_OPTIONS%TYPE --, FAIL_MESSAGE RULE_SET$.FAIL_MESSAGE%TYPE , FAIL_CODE RULE_SET$.FAIL_CODE%TYPE , HANDLER_OPTIONS RULE_SET$.HANDLER_OPTIONS%TYPE , HANDLER RULE_SET$.HANDLER%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, p_ENABLED IN VARCHAR2, p_EVAL_OPTIONS IN NUMBER, p_AUDIT_OPTIONS IN NUMBER, p_FAIL_OPTIONS IN NUMBER, p_FAIL_MESSAGE IN VARCHAR2, p_FAIL_CODE IN VARCHAR2, p_HANDLER_OPTIONS IN NUMBER, p_HANDLER IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 , x_ENABLED OUT VARCHAR2 , x_EVAL_OPTIONS OUT NUMBER , x_AUDIT_OPTIONS OUT NUMBER , x_FAIL_OPTIONS OUT NUMBER , x_FAIL_MESSAGE OUT VARCHAR2 , x_FAIL_CODE OUT VARCHAR2 , x_HANDLER_OPTIONS OUT NUMBER , x_HANDLER OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 , p_ENABLED IN VARCHAR2 , p_EVAL_OPTIONS IN NUMBER , p_AUDIT_OPTIONS IN NUMBER , p_FAIL_OPTIONS IN NUMBER , p_FAIL_MESSAGE IN VARCHAR2 , p_FAIL_CODE IN VARCHAR2 , p_HANDLER_OPTIONS IN NUMBER , p_HANDLER IN VARCHAR2 ); PROCEDURE rename_rule_set (rule_set_name IN varchar2, new_name IN varchar2); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for RULE_SET_RULE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.RULE_SET_RULE$_priv AS TYPE attribute_rec IS RECORD ( ID# RULE_SET_RULE$.ID#%TYPE , RULE_SET_ID# RULE_SET_RULE$.RULE_SET_ID#%TYPE , RULE_ID# RULE_SET_RULE$.RULE_ID#%TYPE , RULE_ORDER RULE_SET_RULE$.RULE_ORDER%TYPE , ENABLED RULE_SET_RULE$.ENABLED%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_RULE_SET_ID# IN NUMBER, p_RULE_ID# IN NUMBER, p_RULE_ORDER IN NUMBER, p_ENABLED IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_RULE_SET_ID# OUT NUMBER , x_RULE_ID# OUT NUMBER , x_RULE_ORDER OUT NUMBER , x_ENABLED OUT VARCHAR2 ); PROCEDURE read_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_RULE_ID#_( p_RULE_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_RULE_SET_ID# IN NUMBER , p_RULE_ID# IN NUMBER , p_RULE_ORDER IN NUMBER , p_ENABLED IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_RULE_ID#_( p_RULE_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for RULE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.RULE$_priv AS TYPE attribute_rec IS RECORD ( ID# RULE$.ID#%TYPE --, NAME RULE$.NAME%TYPE , RULE_EXPR RULE$.RULE_EXPR%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_RULE_EXPR IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_RULE_EXPR OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_RULE_EXPR IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for FACTOR_SCOPE$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.FACTOR_SCOPE$_priv AS TYPE attribute_rec IS RECORD ( ID# FACTOR_SCOPE$.ID#%TYPE , FACTOR_ID FACTOR_SCOPE$.FACTOR_ID#%TYPE , GRANTEE FACTOR_SCOPE$.GRANTEE%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_FACTOR_ID IN NUMBER, p_GRANTEE IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_FACTOR_ID OUT NUMBER , x_GRANTEE OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_FACTOR_ID IN NUMBER , p_GRANTEE IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for realm_command_rule$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.realm_command_rule$_priv AS TYPE attribute_rec IS RECORD ( ID# realm_command_rule$.ID#%TYPE , REALM_ID# realm_command_rule$.REALM_ID#%TYPE , CODE_ID# realm_command_rule$.CODE_ID#%TYPE , RULE_SET_ID# realm_command_rule$.RULE_SET_ID#%TYPE , OBJECT_OWNER realm_command_rule$.OBJECT_OWNER%TYPE , OBJECT_NAME realm_command_rule$.OBJECT_NAME%TYPE , GRANTEE realm_command_rule$.GRANTEE%TYPE , ENABLED realm_command_rule$.ENABLED%TYPE , PRIVILEGE_SCOPE realm_command_rule$.PRIVILEGE_SCOPE%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_REALM_ID# IN NUMBER, p_CODE_ID# IN NUMBER, p_RULE_SET_ID# IN NUMBER, p_OBJECT_OWNER IN VARCHAR2, p_OBJECT_NAME IN VARCHAR2, p_GRANTEE IN VARCHAR2, p_ENABLED IN VARCHAR2, p_PRIVILEGE_SCOPE IN NUMBER, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_REALM_ID# OUT NUMBER , x_CODE_ID# OUT NUMBER , x_RULE_SET_ID# OUT NUMBER , x_OBJECT_OWNER OUT VARCHAR2 , x_OBJECT_NAME OUT VARCHAR2 , x_GRANTEE OUT VARCHAR2 , x_ENABLED OUT VARCHAR2 ); PROCEDURE read_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, x_attribute_list OUT attribute_list); PROCEDURE read_by_CODE_ID#_( p_CODE_ID# IN number, x_attribute_list OUT attribute_list); -- Update method PROCEDURE update_row( p_id# NUMBER , p_REALM_ID# IN NUMBER , p_CODE_ID# IN NUMBER , p_RULE_SET_ID# IN NUMBER , p_OBJECT_OWNER IN VARCHAR2 , p_OBJECT_NAME IN VARCHAR2 , p_GRANTEE IN VARCHAR2 , p_ENABLED IN VARCHAR2 , p_PRIVILEGE_SCOPE IN NUMBER ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_RULE_SET_ID#_( p_RULE_SET_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_REALM_ID#_( p_REALM_ID# IN number, p_delete_children IN boolean := false); PROCEDURE delete_by_CODE_ID#_( p_CODE_ID# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem Rem DESCRIPTION Rem Public CRUD interface for monitor_rule$ table. Rem Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.monitor_rule$_priv AS TYPE attribute_rec IS RECORD ( ID# monitor_rule$.ID#%TYPE --, NAME monitor_rule$.NAME%TYPE --, DESCRIPTION monitor_rule$.DESCRIPTION%TYPE , MONITOR_RULE_SET_ID monitor_rule$.RESTART_FREQ%TYPE , RESTART_FREQ monitor_rule$.RESTART_FREQ%TYPE , ENABLED monitor_rule$.ENABLED%TYPE ); TYPE attribute_list IS VARRAY(4096) OF attribute_rec; -- Create method PROCEDURE create_row( p_NAME IN VARCHAR2, p_DESCRIPTION IN VARCHAR2, p_MONITOR_RULE_SET_ID IN NUMBER, p_RESTART_FREQ IN NUMBER, p_ENABLED IN VARCHAR2, x_id# OUT number); -- Read method PROCEDURE read_row(p_id# IN number, x_ID# OUT NUMBER , x_NAME OUT VARCHAR2 , x_DESCRIPTION OUT VARCHAR2 , x_MONITOR_RULE_SET_ID OUT NUMBER , x_RESTART_FREQ OUT NUMBER , x_ENABLED OUT VARCHAR2 ); -- Update method PROCEDURE update_row( p_id# NUMBER , p_NAME IN VARCHAR2 , p_DESCRIPTION IN VARCHAR2 , p_MONITOR_RULE_SET_ID IN NUMBER , p_RESTART_FREQ IN NUMBER , p_ENABLED IN VARCHAR2 ); -- Delete method PROCEDURE delete_row(p_id# IN number, p_delete_children IN boolean := false); END; / Rem Rem Rem DESCRIPTION Rem Package specification for dbms_output replacement package Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.dbms_macout AS /** * Turn on tracing. */ PROCEDURE enable; /** * Turn off tracing. */ PROCEDURE disable; /** * Add text to the output (without a new line) * @param s String */ PROCEDURE put( s IN VARCHAR2 ); /** * Add text to the output (with a new line) * @param s String */ PROCEDURE put_line( s IN VARCHAR2 ); /** * Add a new line to the output */ PROCEDURE new_line; /** * Same as put. * @param s String */ PROCEDURE p( s IN VARCHAR2 ); /** * Same as put_line. * @param s String */ PROCEDURE pl( s IN VARCHAR2 ); /** * Same as new_line. */ PROCEDURE nl; /** * Retrieve a line of text from the buffer. The line is deleted from * the line buffer. * @param n Line number */ FUNCTION get_line( n IN NUMBER ) RETURN VARCHAR2; PRAGMA RESTRICT_REFERENCES( get_line, WNDS, RNDS ); /** * Number of lines in the buffer. * @return Number of lines in the buffer */ FUNCTION get_line_COUNT RETURN NUMBER; /** * Is the trace facility enabled. * @return An indicator that the trace facility is enabled for this session */ FUNCTION is_enabled RETURN BOOLEAN; PRAGMA RESTRICT_REFERENCES( get_line_COUNT, WNDS, RNDS, WNPS ); PRAGMA RESTRICT_REFERENCES( dbms_macout, WNDS, RNDS, WNPS, RNPS ); END; / show errors; BEGIN EXECUTE IMMEDIATE 'CREATE SYNONYM dvsys.out FOR dvsys.dbms_macout'; EXCEPTION WHEN OTHERS THEN IF SQLCODE IN ( -00955) THEN NULL; --synonym already created ELSE RAISE; END IF; END; / Rem Rem Rem Rem DESCRIPTION Rem Package specification for public Data Vault Administration APIs Rem Rem Rem Rem CREATE OR REPLACE PACKAGE DVSYS.dbms_macutl AS /********************/ /* Global Constants */ /********************/ -- Yes constant for enabled and label_ind columns (Boolean TRUE) g_yes CONSTANT VARCHAR2(1) := 'Y'; -- No constant for enabled and label_ind columns (Boolean FALSE) g_no CONSTANT VARCHAR2(1) := 'N'; -- Factor audit_options: No audit g_audit_off CONSTANT NUMBER := 0; -- Factor audit_options: Always audit g_audit_always CONSTANT NUMBER := POWER(2,0); -- Factor audit_options: Audit if get_expr returns an error g_audit_on_get_error CONSTANT NUMBER := POWER(2,1); -- Factor audit_options: Audit if get_expr is null g_audit_on_get_null CONSTANT NUMBER := POWER(2,2); -- Factor audit_options: Audit if validation function returns error g_audit_on_validate_error CONSTANT NUMBER := POWER(2,3); -- Factor audit_options: Audit if validation function is false g_audit_on_validate_false CONSTANT NUMBER := POWER(2,4); -- Factor audit_options: Audit if no trust level g_audit_on_trust_level_null CONSTANT NUMBER := POWER(2,5); -- Factor audit_options: Audit if trus level is negative g_audit_on_trust_level_neg CONSTANT NUMBER := POWER(2,6); -- Fail_options: Fail with message g_fail_with_message CONSTANT NUMBER := POWER(2,0); -- Fail_options: Fail with message g_fail_silently CONSTANT NUMBER := POWER(2,1); -- Factor identify_by column: Fixed value in get_expr column g_identify_by_constant CONSTANT NUMBER := 0; -- Factor identify_by column: Expression in get_expr column g_identify_by_method CONSTANT NUMBER := 1; -- Factor identify_by column: Sub-factors via factor_link$ table g_identify_by_factor CONSTANT NUMBER := 2; -- Factor identify_by session context g_identify_by_context CONSTANT NUMBER := 3; -- Factor identify_by column: Expression and Rule Set via factor_expr$ table -- g_identify_by_ruleset CONSTANT NUMBER := 4; -- Factor eval_options: Evaluate once upon login g_eval_on_session CONSTANT NUMBER := 0; -- Factor eval_options: Re-evaluate on each access g_eval_on_access CONSTANT NUMBER := 1; -- Factor eval_options: Evaluate once at database startup g_eval_on_startup CONSTANT NUMBER := 2; -- Factor labeled_by column: Factor's identities are labeled g_labeled_by_self CONSTANT NUMBER := 0; -- Factor labeled_by column: Derive label from sub-factor and merge algorithm g_labeled_by_factors CONSTANT NUMBER := 1; -- Realm Objects: Wild card to indicate all object names or all object types g_all_object CONSTANT VARCHAR2(1) := '%'; -- Rule Set audit_options: No auditing g_ruleset_audit_off CONSTANT NUMBER := 0; -- Rule Set audit_options: Audit on Rule Set failure g_ruleset_audit_fail CONSTANT NUMBER := POWER(2,0); -- Rule Set audit_options: Audit on Rule Set success g_ruleset_audit_success CONSTANT NUMBER := POWER(2,1); -- Rule Set eval_options: Rule Set succeeds if all Rules are TRUE g_ruleset_eval_all CONSTANT NUMBER := 1; -- Rule Set eval_options: Rule Set succeeds if any Rule is TRUE g_ruleset_eval_any CONSTANT NUMBER := 2; -- Rule Set fail_options: Show error message g_ruleset_fail_show CONSTANT NUMBER := 1; -- Rule Set fail_options: No error message g_ruleset_fail_silent CONSTANT NUMBER := 2; -- Rule Set handler_options: No call to handler g_ruleset_handler_off CONSTANT NUMBER := 0; -- Rule Set handler_options: Call handler on Rule Set failure g_ruleset_handler_fail CONSTANT NUMBER := POWER(2,0); -- Rule Set handler_options: Call handler on Rule Set success g_ruleset_handler_success CONSTANT NUMBER := POWER(2,1); -- Realm audit_options: No auditing g_realm_audit_off CONSTANT NUMBER := 0; -- Realm audit_options: Audit on realm violation g_realm_audit_fail CONSTANT NUMBER := POWER(2,0); -- Realm audit_options: Audit on successful realm access g_realm_audit_success CONSTANT NUMBER := POWER(2,1); -- Realm authoriations: Participant g_realm_auth_participant CONSTANT NUMBER := 0; -- Realm authoriations: Owner g_realm_auth_owner CONSTANT NUMBER := 1; -- Code groups: Audit Event Descriptions g_codes_audit_events CONSTANT VARCHAR2(30) := 'AUDIT_EVENTS'; -- Code groups: Boolean values g_codes_boolean CONSTANT VARCHAR2(30) := 'BOOLEAN'; -- Code groups: DDL commands g_codes_ddl_cmds CONSTANT VARCHAR2(30) := 'DDL_CMDS'; -- Code groups: Factor audit_options g_codes_factor_audit CONSTANT VARCHAR2(30) := 'FACTOR_AUDIT'; -- Code groups: Factor eval_options g_codes_factor_eval CONSTANT VARCHAR2(30) := 'FACTOR_EVALUATE'; -- Code groups: Factor fail_options g_codes_factor_fail CONSTANT VARCHAR2(30) := 'FACTOR_FAIL'; -- Code groups: Factor identity_by g_codes_factor_identify CONSTANT VARCHAR2(30) := 'FACTOR_IDENTIFY'; -- Code groups: Factor labeled_by g_codes_factor_label CONSTANT VARCHAR2(30) := 'FACTOR_LABEL'; -- Code groups: Database object types g_codes_db_object_type CONSTANT VARCHAR2(30) := 'DB_OBJECT_TYPE'; -- Code groups: OLS Policy merge algorithms g_codes_label_alg CONSTANT VARCHAR2(30) := 'LABEL_ALG'; -- Code groups: DV Error messages g_codes_messages CONSTANT VARCHAR2(30) := 'DV_MESSAGES'; -- Code groups: SQL relational operators g_codes_operators CONSTANT VARCHAR2(30) := 'OPERATORS'; -- Code groups: Realm audit_options g_codes_realm_audit CONSTANT VARCHAR2(30) := 'REALM_AUDIT'; -- Code groups: Rule Set audit_options g_codes_ruleset_audit CONSTANT VARCHAR2(30) := 'RULESET_AUDIT'; -- Code groups: Rule Set evaluate_options g_codes_ruleset_eval CONSTANT VARCHAR2(30) := 'RULESET_EVALUATE'; -- Code groups: Rule Set handler_options g_codes_ruleset_event CONSTANT VARCHAR2(30) := 'RULESET_EVENT'; -- Code groups: Rule Set fail_options g_codes_ruleset_fail CONSTANT VARCHAR2(30) := 'RULESET_FAIL'; -- Code groups: SQL Commands g_codes_sql_cmds CONSTANT VARCHAR2(30) := 'SQL_CMDS'; -- Context: Namespace, Attribute, Value -- MACSEC/MACOLS context start with this g_context_prefix CONSTANT VARCHAR2(30) := 'MAC$'; -- Factor Labels: MAC$F$, , g_context_factor_label CONSTANT VARCHAR2(30) := g_context_prefix||'F$'; -- Session Labels: MAC$S$, ,