Christopher B. Browne's Home Page
cbbrowne@acm.org

8.56. droppath_int(integer, integer)

Function Properties

PLPGSQLinteger
Process DROP_PATH event to drop path from pa_server to pa_client
    declare
    	p_pa_server		alias for $1;
    	p_pa_client		alias for $2;
    begin
    	-- ----
    	-- Grab the central configuration lock
    	-- ----
    	lock table sl_config_lock;
    
    	-- ----
    	-- Remove any dangling sl_listen entries with the server
    	-- as provider and the client as receiver. This must have
    	-- been cleared out before, but obviously was not.
    	-- ----
    	delete from sl_listen
    			where li_provider = p_pa_server
    			and li_receiver = p_pa_client;
    
    	delete from sl_path
    			where pa_server = p_pa_server
    			and pa_client = p_pa_client;
    
    	if found then
    		-- Rewrite sl_listen table
    		perform RebuildListenEntries();
    
    		return 1;
    	else
    		-- Rewrite sl_listen table
    		perform RebuildListenEntries();
    
    		return 0;
    	end if;
    end;

Google
Contact me at cbbrowne@acm.org