Chris Browne cbbrowne at lists.slony.info
Fri Jan 16 14:59:22 PST 2009
Update of /home/cvsd/slony1/slony1-engine/src/backend
In directory main.slony.info:/tmp/cvs-serv29986

Modified Files:
      Tag: REL_2_0_STABLE
	slony1_funcs.sql 
Log Message:
Fix to log purging as per discussion on list...

http://lists.slony.info/pipermail/slony1-bugs/2009-January/000302.html

Also, added recognition of more of the 1.2 branch, and removal of
trigger-related config tables that are no longer needed in v2.0.  That is
not all that is needed for an upgrade to 2.0, but it is a step towards
the right direction, and shouldn't worsen the schema :-)


Index: slony1_funcs.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/backend/slony1_funcs.sql,v
retrieving revision 1.145.2.3
retrieving revision 1.145.2.4
diff -C2 -d -r1.145.2.3 -r1.145.2.4
*** slony1_funcs.sql	18 Dec 2008 21:56:20 -0000	1.145.2.3
--- slony1_funcs.sql	16 Jan 2009 22:59:20 -0000	1.145.2.4
***************
*** 408,412 ****
  as $$
  begin
! 	return 1;
  end;
  $$ language plpgsql;
--- 408,412 ----
  as $$
  begin
! 	return 0;
  end;
  $$ language plpgsql;
***************
*** 5193,5197 ****
  	          where (ev_origin, ev_seqno) in (select ev_origin, min(ev_seqno) from @NAMESPACE at .sl_event where ev_type = 'SYNC' group by ev_origin)
  		loop
! 			if exists (select 1 from @NAMESPACE at .sl_log_2 where log_origin = v_origin and log_txid < v_xmin limit 1) then
  				v_purgeable := 'false';
  			end if;
--- 5193,5197 ----
  	          where (ev_origin, ev_seqno) in (select ev_origin, min(ev_seqno) from @NAMESPACE at .sl_event where ev_type = 'SYNC' group by ev_origin)
  		loop
! 			if exists (select 1 from @NAMESPACE at .sl_log_2 where log_origin = v_origin and log_txid >= v_xmin limit 1) then
  				v_purgeable := 'false';
  			end if;
***************
*** 5231,5235 ****
  	          where (ev_origin, ev_seqno) in (select ev_origin, min(ev_seqno) from @NAMESPACE at .sl_event where ev_type = 'SYNC' group by ev_origin)
  		loop
! 			if (exists (select 1 from @NAMESPACE at .sl_log_1 where log_origin = v_origin and log_txid < v_xmin limit 1)) then
  				v_purgeable := 'false';
  			end if;
--- 5231,5235 ----
  	          where (ev_origin, ev_seqno) in (select ev_origin, min(ev_seqno) from @NAMESPACE at .sl_event where ev_type = 'SYNC' group by ev_origin)
  		loop
! 			if (exists (select 1 from @NAMESPACE at .sl_log_1 where log_origin = v_origin and log_txid >= v_xmin limit 1)) then
  				v_purgeable := 'false';
  			end if;
***************
*** 5398,5402 ****
  	end if;
  
! 	if p_old IN ('1.2.0', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '1.2.9', '1.2.10', '1.2.11', '1.2.12') then
  		-- ---- 
  		-- Upgrading from a pre-2.0 ... repair the system catalog
--- 5398,5402 ----
  	end if;
  
! 	if p_old IN ('1.2.0', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '1.2.9', '1.2.10', '1.2.11', '1.2.12', '1.2.13', '1.2.14', '1.2.15', '1.2.16') then
  		-- ---- 
  		-- Upgrading from a pre-2.0 ... repair the system catalog
***************
*** 5425,5428 ****
--- 5425,5435 ----
  		execute 'alter table @NAMESPACE at .sl_node drop column no_spool;';
  
+ 		-- ----
+ 		-- Drop sl_trigger
+ 		-- ----
+ 		execute 'drop table @NAMESPACE at .sl_trigger;';
+ 
+ 		execute 'alter table @NAMESPACE at .sl_event add column ev_snapshot "pg_catalog".txid_snapshot;';
+ 		execute 'alter table @NAMESPACE at .sl_set_sync add column ev_snapshot "pg_catalog".txid_snapshot;';
  	end if;
  



More information about the Slony1-commit mailing list