Tout le VRAI travail de suppression de l'abonné est fait avant la génération de l'événement pour que cette fonction ait seulement à supprimer les référence à l'abonnement dans sl_subscribe.
declare
p_sub_set alias for $1;
p_sub_receiver alias for $2;
begin
-- ----
-- Grab the central configuration lock
-- ----
lock table sl_config_lock;
-- ----
-- All the real work is done before event generation on the
-- subscriber.
-- ----
delete from sl_subscribe
where sub_set = p_sub_set
and sub_receiver = p_sub_receiver;
-- Rewrite sl_listen table
perform RebuildListenEntries();
return p_sub_set;
end;