I'm working on an APEX Session level GTT-like feature PoC for FR-3034 - the non-RAS version
Where would I place the “session cleanup code” that would delete
the session's “temp data” when the session is removed (logout or timeout)?
Or, would I have to use a Scheduled Automation to do the cleanup?
Current PoC code
create table apex$no_ras_temp$gtt (
apex_user varchar2(1000) default nvl2( sys_context('apex$session', 'app_session'), 'APEX', 'RAS' )
|| coalesce(sys_context('apex$session', 'app_session'),xs_sys_context('xs$session','session_id')) not null
,id int generated always as identity
,n number
,d date default on null sysdate
,constraint no_ras_temp_pk primary key ( apex_user, id )
);
create or replace
view no_ras_temp
as
select id, n, d
from apex$no_ras_temp$gtt
where apex_user = nvl2( sys_context('apex$session', 'app_session'), 'APEX', 'RAS' )
|| coalesce(sys_context('apex$session', 'app_session'),xs_sys_context('xs$session','session_id'));
grant insert, update,select, delete on no_ras_temp to public;