Chris Browne cbbrowne at lists.slony.info
Tue Jul 28 15:19:40 PDT 2009
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main.slony.info:/tmp/cvs-serv1327/src/slon

Modified Files:
      Tag: REL_1_2_STABLE
	cleanup_thread.c 
Log Message:
Check for version 8.4, and if found, use an alternative query to determine
which tables are managed by autovacuum and hence do not need to be vacuumed
in the cleanup thread


Index: cleanup_thread.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/cleanup_thread.c,v
retrieving revision 1.33.2.4
retrieving revision 1.33.2.5
diff -C2 -d -r1.33.2.4 -r1.33.2.5
*** cleanup_thread.c	22 Aug 2007 21:20:23 -0000	1.33.2.4
--- cleanup_thread.c	28 Jul 2009 22:19:38 -0000	1.33.2.5
***************
*** 303,311 ****
  				if (a_vac==1)
  				{
! 					slon_mkquery(&query3,"select (case when pga.enabled ISNULL THEN true ELSE pga.enabled END) "
! 						"from \"pg_catalog\".pg_namespace PGN, \"pg_catalog\".pg_class PGC LEFT OUTER JOIN "
! 						"\"pg_catalog\".pg_autovacuum pga ON (PGC.oid = pga.vacrelid) where PGC.relnamespace = PGN.oid "
! 						"and %s.slon_quote_input('%s')=%s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
! 					 	rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
  
  					res = PQexec(dbconn, dstring_data(&query3));
--- 303,322 ----
  				if (a_vac==1)
  				{
! 					if (conn->pg_version < 80400) {
! 						slon_mkquery(&query3,"select (case when pga.enabled ISNULL THEN true ELSE pga.enabled END) "
! 									 "from \"pg_catalog\".pg_namespace PGN, \"pg_catalog\".pg_class PGC LEFT OUTER JOIN "
! 									 "\"pg_catalog\".pg_autovacuum pga ON (PGC.oid = pga.vacrelid) where PGC.relnamespace = PGN.oid "
! 									 "and %s.slon_quote_input('%s')=%s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
! 									 rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
! 
! 					} else {
! 						/* PostgreSQL 8.4 */
! 						slon_mkquery (&query3, 
! 									  "select coalesce ('autovacuum_enabled=on' = any(reloptions), 't'::boolean) "
! 									  "from \"pg_catalog\".pg_class pgc, \"pg_catalog\".pg_namespace pgn "
! 									  "where pgc.relnamespace = pgn.oid and %s.slon_quote_input('%s')= "
! 									  " %s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
! 									  rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
! 					}
  
  					res = PQexec(dbconn, dstring_data(&query3));



More information about the Slony1-commit mailing list