/*
 *  $Revision$
 *  $Id$
 *
 */

CREATE_TRIGGER(adm_t_adm_tracking_B_I)
BEFORE INSERT ON adm_tracking
FOR EACH ROW
BEGIN
    UPDATE_PRIMARY_KEY(adm_tracking_key, adm_s_adm_tracking_key);
END;
/

//
// Deze triggers zijn om access buiten de applicatie om te tracken,
// bijvoorbeeld met SQLPlus of Toad maar dat kan van alles zijn
// Ten behoeve van extra auditing. Standaard doen we dat niet, omdat
//  - het vereist niet-default privileges voor het SCHEMA (of niet?)
//  - we weten niet altijd hoe we de webserver zelf uit kunnen sluiten
// Als we meer weten kunnen we deze misschien wel standaard aanzetten
//

/*
CREATE_TRIGGER(fclt_t_schema_session_on)
    AFTER
    LOGON
    ON SCHEMA
    WHEN (    SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
          AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
BEGIN
    INSERT INTO adm_tracking (adm_tracking_name)
        SELECT    'Login using '
               || SYS_CONTEXT ('USERENV', 'MODULE')
               || ' from '
               || SYS_CONTEXT ('USERENV', 'HOST')
          FROM DUAL;
END;
/

CREATE_TRIGGER(fclt_t_schema_session_off)
    BEFORE
    LOGOFF
    ON SCHEMA
    WHEN (    SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
          AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
BEGIN
    INSERT INTO adm_tracking (adm_tracking_name)
        SELECT    'Logoff using '
               || SYS_CONTEXT ('USERENV', 'MODULE')
               || ' from '
               || SYS_CONTEXT ('USERENV', 'HOST')
          FROM DUAL;
END;
/

-- Wel definieren en uitzetten is riskant, want een disabled trigger lijkt fout
ALTER TRIGGER fclt_t_schema_session_on DISABLE;
ALTER TRIGGER fclt_t_schema_session_off DISABLE;
*/

// De package is er nog niet bij de CREA dus uitgeschakeld
// REGISTERRUN('$Id$')
