mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Speed up planner's scanning for parallel-query hazards.
We need to scan the whole parse tree for parallel-unsafe functions. If there are none, we'll later need to determine whether particular subtrees contain any parallel-restricted functions. The previous coding retained no knowledge from the first scan, even though this is very wasteful in the common case where the query contains only parallel-safe functions. We can bypass all of the later scans by remembering that fact. This provides a small but measurable speed improvement when the case applies, and shouldn't cost anything when it doesn't. Patch by me, reviewed by Robert Haas Discussion: <3740.1471538387@sss.pgh.pa.us>
This commit is contained in:
		@@ -126,6 +126,8 @@ typedef struct PlannerGlobal
 | 
			
		||||
	bool		parallelModeOK; /* parallel mode potentially OK? */
 | 
			
		||||
 | 
			
		||||
	bool		parallelModeNeeded;		/* parallel mode actually required? */
 | 
			
		||||
 | 
			
		||||
	char		maxParallelHazard;		/* worst PROPARALLEL hazard level */
 | 
			
		||||
} PlannerGlobal;
 | 
			
		||||
 | 
			
		||||
/* macro for fetching the Plan associated with a SubPlan node */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user