Chris Browne cbbrowne at lists.slony.info
Fri Feb 12 09:14:55 PST 2010
Update of /home/cvsd/slony1/slony1-engine/src/backend
In directory main.slony.info:/tmp/cvs-serv14974

Modified Files:
      Tag: REL_2_0_STABLE
	slony1_funcs.sql 
Log Message:
Found a query that no longer runs in 9.0 because subqueries in updates
evidently can't reference the "parent" table


Index: slony1_funcs.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/backend/slony1_funcs.sql,v
retrieving revision 1.145.2.24
retrieving revision 1.145.2.25
diff -C 2 -d -r1.145.2.24 -r1.145.2.25
*** slony1_funcs.sql	26 Nov 2009 17:36:21 -0000	1.145.2.24
--- slony1_funcs.sql	12 Feb 2010 17:14:52 -0000	1.145.2.25
***************
*** 5117,5126 ****
  	end loop;
  
!         update @NAMESPACE at .sl_table set
!                 tab_reloid = PGC.oid
!                 from pg_catalog.pg_class PGC, pg_catalog.pg_namespace PGN
!                 where @NAMESPACE at .slon_quote_brute(@NAMESPACE at .sl_table.tab_relname) = @NAMESPACE at .slon_quote_brute(PGC.relname)
!                         and PGC.relnamespace = PGN.oid
! 			and @NAMESPACE at .slon_quote_brute(PGN.nspname) = @NAMESPACE at .slon_quote_brute(@NAMESPACE at .sl_table.tab_nspname);
  
  	for prec in select seq_id from @NAMESPACE at .sl_sequence loop
--- 5117,5129 ----
  	end loop;
  
! 	for prec in select tab_id, tab_relname, tab_nspname from @NAMESPACE at .sl_table loop
! 	        update @NAMESPACE at .sl_table set
!         	        tab_reloid = (select PGC.oid
! 	                from pg_catalog.pg_class PGC, pg_catalog.pg_namespace PGN
! 	                where @NAMESPACE at .slon_quote_brute(PGC.relname) = @NAMESPACE at .slon_quote_brute(prec.tab_relname)
! 	                        and PGC.relnamespace = PGN.oid
! 				and @NAMESPACE at .slon_quote_brute(PGN.nspname) = @NAMESPACE at .slon_quote_brute(prec.tab_nspname))
! 		where tab_id = prec.tab_id;
! 	end loop;
  
  	for prec in select seq_id from @NAMESPACE at .sl_sequence loop
***************
*** 5129,5138 ****
  	end loop;
  
!         update @NAMESPACE at .sl_sequence set
!                 seq_reloid = PGC.oid
!                 from pg_catalog.pg_class PGC, pg_catalog.pg_namespace PGN
!                 where @NAMESPACE at .slon_quote_brute(@NAMESPACE at .sl_sequence.seq_relname) = @NAMESPACE at .slon_quote_brute(PGC.relname)
                  	and PGC.relnamespace = PGN.oid
! 			and @NAMESPACE at .slon_quote_brute(PGN.nspname) = @NAMESPACE at .slon_quote_brute(@NAMESPACE at .sl_sequence.seq_nspname);
  
  	return 1;
--- 5132,5144 ----
  	end loop;
  
! 	for prec in select seq_id, seq_relname, seq_nspname from @NAMESPACE at .sl_sequence loop
! 	        update @NAMESPACE at .sl_sequence set
! 	                seq_reloid = (select PGC.oid
! 	                from pg_catalog.pg_class PGC, pg_catalog.pg_namespace PGN
! 	                where @NAMESPACE at .slon_quote_brute(PGC.relname) = @NAMESPACE at .slon_quote_brute(prec.seq_relname)
                  	and PGC.relnamespace = PGN.oid
! 			and @NAMESPACE at .slon_quote_brute(PGN.nspname) = @NAMESPACE at .slon_quote_brute(prec.seq_nspname))
! 		where seq_id = prec.seq_id;
! 	end loop;
  
  	return 1;



More information about the Slony1-commit mailing list