unsubscribeset_int(p_sub_receiver integer, p_sub_set integer)

Slony-I 2.2.10 Documentation
Prev | Fast Backward | Chapter 8. Schema schemadoc | Fast Forward | Next

# 8.135. unsubscribeset_int(p_sub_receiver integer, p_sub_set integer)

Function Properties

Language: PLPGSQL

Return Type: integer

unsubscribeSet_int (sub_set, sub_receiver) All the REAL work of removing the subscriber is done before the event is generated, so this function just has to drop the references to the subscription in sl_subscribe.

    declare
    begin
    	-- ----
    	-- Grab the central configuration lock
    	-- ----
    	lock table sl_config_lock;

    	-- ----
    	-- All the real work is done before event generation on the
    	-- subscriber.
    	-- ----

    	--if this event unsubscribes the provider of this node
    	--then this node should unsubscribe itself from the set as well.

    	if exists (select true from
    		   sl_subscribe where
    		   sub_set=p_sub_set and sub_provider=p_sub_receiver
    		   and sub_receiver=getLocalNodeId('_schemadoc'))
    	then
    	   perform unsubscribeSet(p_sub_set,getLocalNodeId('_schemadoc'),true);
    	end if;

    	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;

Prev | Home | Next
unsubscribeset(p_force integer, p_sub_receiver integer, p_sub_set boolean) | Up | updaterelname()