Jan Wieck wieck at lists.slony.info
Mon Aug 20 10:02:30 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/src/backend
In directory main.slony.info:/tmp/cvs-serv9726/src/backend

Modified Files:
      Tag: REL_1_2_STABLE
	slony1_base.sql slony1_funcs.sql 
Log Message:
I've had it now with the setsync tracking in offline archives.

The whole idea to track the setsync status is bogus to begin with, since
the real online replica doesn't update the sl_setsync table on every
event.

I added another table, sl_archive_counter where the log writing slon
simply tracks when it wrote the last offline archive file and maintains
a counter. This counter is now tracked in the offline replica and must
increment gap free.

Jan


Index: slony1_base.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/backend/slony1_base.sql,v
retrieving revision 1.32
retrieving revision 1.32.2.1
diff -C2 -d -r1.32 -r1.32.2.1
*** slony1_base.sql	18 Jul 2006 17:59:59 -0000	1.32
--- slony1_base.sql	20 Aug 2007 17:02:28 -0000	1.32.2.1
***************
*** 575,578 ****
--- 575,593 ----
  
  -- ----------------------------------------------------------------------
+ -- TABLE sl_archive_counter
+ --
+ --	This table is used to generate the archive number for logshipping.
+ -- ----------------------------------------------------------------------
+ create table @NAMESPACE at .sl_archive_counter (
+ 	ac_num			bigint,
+ 	ac_timestamp	timestamp
+ ) without oids;
+ comment on table @NAMESPACE at .sl_archive_counter is 'Table used to generate the log shipping archive number.
+ ';
+ 
+ insert into @NAMESPACE at .sl_archive_counter (ac_num, ac_timestamp)
+ 	values (0, 'epoch'::timestamp);
+ 
+ -- ----------------------------------------------------------------------
  -- Last but not least grant USAGE to the replication schema objects.
  -- ----------------------------------------------------------------------

Index: slony1_funcs.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/backend/slony1_funcs.sql,v
retrieving revision 1.98.2.19
retrieving revision 1.98.2.20
diff -C2 -d -r1.98.2.19 -r1.98.2.20
*** slony1_funcs.sql	3 Aug 2007 16:16:08 -0000	1.98.2.19
--- slony1_funcs.sql	20 Aug 2007 17:02:28 -0000	1.98.2.20
***************
*** 5851,5854 ****
--- 5851,5867 ----
  	end if;
  
+ 	-- ----
+ 	-- Changes for 1.2.11
+ 	-- ----
+ 	if p_old IN (''1.0.2'', ''1.0.5'', ''1.0.6'', ''1.1.0'', ''1.1.1'', ''1.1.2'', ''1.1.3'',''1.1.5'', ''1.1.6'', ''1.1.7'', ''1.1.8'', ''1.1.9'', ''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'') then
+ 		-- Add new table sl_archive_counter
+ 		execute ''create table @NAMESPACE at .sl_archive_counter (
+ 						ac_num			bigint,
+ 						ac_timestamp	timestamp
+ 					) without oids'';
+ 		execute ''insert into @NAMESPACE at .sl_archive_counter
+ 					(ac_num, ac_timestamp) values (0, ''''epoch''''::timestamp)'';
+ 	end if;
+ 
  	-- In any version, make sure that the xxidin() functions are defined STRICT
  	perform @NAMESPACE at .make_function_strict (''xxidin'', ''(cstring)'');



More information about the Slony1-commit mailing list