mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Refactor code in charge of grabbing the relations of a subscription
GetSubscriptionRelations() and GetSubscriptionNotReadyRelations() share mostly the same code, which scans pg_subscription_rel and fetches all the relations of a given subscription. The only difference is that the second routine looks for all the relations not in a ready state. This commit refactors the code to use a single routine, shaving a bit of code. Author: Vignesh C Reviewed-By: Kyotaro Horiguchi, Amit Kapila, Michael Paquier, Peter Smith Discussion: https://postgr.es/m/CALDaNm0eW-9g4G_EzHebnFT5zZoasWCS_EzZQ5BgnLZny9S=pg@mail.gmail.com
This commit is contained in:
		@@ -814,7 +814,7 @@ AlterSubscription_refresh(Subscription *sub, bool copy_data,
 | 
			
		||||
		pubrel_names = fetch_table_list(wrconn, sub->publications);
 | 
			
		||||
 | 
			
		||||
		/* Get local table list. */
 | 
			
		||||
		subrel_states = GetSubscriptionRelations(sub->oid);
 | 
			
		||||
		subrel_states = GetSubscriptionRelations(sub->oid, false);
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
		 * Build qsorted array of local table oids for faster lookup. This can
 | 
			
		||||
@@ -1494,7 +1494,7 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel)
 | 
			
		||||
	 * the apply and tablesync workers and they can't restart because of
 | 
			
		||||
	 * exclusive lock on the subscription.
 | 
			
		||||
	 */
 | 
			
		||||
	rstates = GetSubscriptionNotReadyRelations(subid);
 | 
			
		||||
	rstates = GetSubscriptionRelations(subid, true);
 | 
			
		||||
	foreach(lc, rstates)
 | 
			
		||||
	{
 | 
			
		||||
		SubscriptionRelState *rstate = (SubscriptionRelState *) lfirst(lc);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user