Speed up planner's scanning for parallel-query hazards.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: da1c91631e3577ea5818f855ebb5bd206d559006
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2016-08-19T18:03:13Z
Releases: 10.0
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>

Files