postgresql/src/include/optimizer
Tom Lane da1c91631e 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>
2016-08-19 14:03:13 -04:00
..
clauses.h Speed up planner's scanning for parallel-query hazards. 2016-08-19 14:03:13 -04:00
cost.h Restore foreign-key-aware estimation of join relation sizes. 2016-06-18 15:22:34 -04:00
geqo.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_copy.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_gene.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_misc.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_mutation.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_pool.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_random.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_recombination.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
geqo_selection.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
joininfo.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
orclauses.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pathnode.h Rethink node-level representation of partial-aggregation modes. 2016-06-26 14:33:38 -04:00
paths.h Restore foreign-key-aware estimation of join relation sizes. 2016-06-18 15:22:34 -04:00
placeholder.h Add an explicit representation of the output targetlist to Paths. 2016-02-18 20:02:03 -05:00
plancat.h Directly modify foreign tables. 2016-03-18 13:55:52 -04:00
planmain.h Rethink node-level representation of partial-aggregation modes. 2016-06-26 14:33:38 -04:00
planner.h Rethink node-level representation of partial-aggregation modes. 2016-06-26 14:33:38 -04:00
predtest.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
prep.h Make the upper part of the planner work by generating and comparing Paths. 2016-03-07 15:58:22 -05:00
restrictinfo.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
subselect.h Make the upper part of the planner work by generating and comparing Paths. 2016-03-07 15:58:22 -05:00
tlist.h Simplify planner's final setup of Aggrefs for partial aggregation. 2016-06-26 12:08:12 -04:00
var.h Give pull_var_clause() reject/recurse/return behavior for WindowFuncs too. 2016-03-10 16:23:52 -05:00