Chris Browne cbbrowne at lists.slony.info
Mon Oct 22 08:19:52 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/src/backend
In directory main.slony.info:/tmp/cvs-serv15358

Modified Files:
      Tag: REL_1_2_STABLE
	slony1_funcs.sql 
Log Message:
Take out "continue" statements from back-ported listen generation code
as "continue" is not supported by v7.4


Index: slony1_funcs.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/backend/slony1_funcs.sql,v
retrieving revision 1.98.2.24
retrieving revision 1.98.2.25
diff -C2 -d -r1.98.2.24 -r1.98.2.25
*** slony1_funcs.sql	25 Sep 2007 18:33:38 -0000	1.98.2.24
--- slony1_funcs.sql	22 Oct 2007 15:19:50 -0000	1.98.2.25
***************
*** 5139,5142 ****
--- 5139,5143 ----
  declare
  	v_row	record;
+ 	skip    boolean;
  begin
  	-- First remove the entire configuration
***************
*** 5173,5176 ****
--- 5174,5178 ----
  			where N1.no_id <> N2.no_id
  	loop
+ 		skip := ''f'';
  		-- 1st choice:
  		-- If we use the event origin as a data provider for any
***************
*** 5189,5195 ****
  			insert into @NAMESPACE at .sl_listen (li_origin, li_provider, li_receiver)
  				values (v_row.origin, v_row.origin, v_row.receiver);
! 			continue;
  		end if;
  
  		-- 2nd choice:
  		-- If we are subscribed to any set originating on this
--- 5191,5200 ----
  			insert into @NAMESPACE at .sl_listen (li_origin, li_provider, li_receiver)
  				values (v_row.origin, v_row.origin, v_row.receiver);
! 			skip := ''t'';
  		end if;
  
+ 		if skip then
+ 			skip := ''f'';
+ 		else
  		-- 2nd choice:
  		-- If we are subscribed to any set originating on this
***************
*** 5197,5210 ****
  		-- we use for this origin. We are a cascaded subscriber
  		-- for sets from this node.
! 		if exists (select true from @NAMESPACE at .sl_set, @NAMESPACE at .sl_subscribe
  						where set_origin = v_row.origin
  						  and sub_set = set_id
  						  and sub_receiver = v_row.receiver
  						  and sub_active)
! 		then
! 			delete from @NAMESPACE at .sl_listen
  					where li_origin = v_row.origin
  					  and li_receiver = v_row.receiver;
! 			insert into @NAMESPACE at .sl_listen (li_origin, li_provider, li_receiver)
  					select distinct set_origin, sub_provider, v_row.receiver
  						from @NAMESPACE at .sl_set, @NAMESPACE at .sl_subscribe
--- 5202,5215 ----
  		-- we use for this origin. We are a cascaded subscriber
  		-- for sets from this node.
! 			if exists (select true from @NAMESPACE at .sl_set, @NAMESPACE at .sl_subscribe
  						where set_origin = v_row.origin
  						  and sub_set = set_id
  						  and sub_receiver = v_row.receiver
  						  and sub_active)
! 			then
! 				delete from @NAMESPACE at .sl_listen
  					where li_origin = v_row.origin
  					  and li_receiver = v_row.receiver;
! 				insert into @NAMESPACE at .sl_listen (li_origin, li_provider, li_receiver)
  					select distinct set_origin, sub_provider, v_row.receiver
  						from @NAMESPACE at .sl_set, @NAMESPACE at .sl_subscribe
***************
*** 5213,5217 ****
  						  and sub_receiver = v_row.receiver
  						  and sub_active;
! 			continue;
  		end if;
  
--- 5218,5222 ----
  						  and sub_receiver = v_row.receiver
  						  and sub_active;
! 			end if;
  		end if;
  



More information about the Slony1-commit mailing list