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

Modified Files:
	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.147
retrieving revision 1.148
diff -C2 -d -r1.147 -r1.148
*** slony1_funcs.sql	18 Dec 2008 21:55:52 -0000	1.147
--- slony1_funcs.sql	16 Jan 2009 22:59:36 -0000	1.148
***************
*** 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