postgresql/src/include/optimizer
Robert Haas c83ac02ec7 Add ExplainState argument to pg_plan_query() and planner().
This allows extensions to have access to any data they've stored
in the ExplainState during planning. Unfortunately, it won't help
with EXPLAIN EXECUTE is used, but since that case is less common,
this still seems like an improvement.

Since planner() has quite a few arguments now, also add some
documentation of those arguments and the return value.

Author: Robert Haas <rhaas@postgresql.org>
Co-authored-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andrei Lepikhov <lepihov@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: http://postgr.es/m/CA+TgmoYWKHU2hKr62Toyzh-kTDEnMDeLw7gkOOnjL-TnOUq0kQ@mail.gmail.com
2025-10-08 08:33:29 -04:00
..
appendinfo.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
clauses.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
cost.h Consider explicit incremental sort for Append and MergeAppend 2025-07-08 10:21:44 +09:00
extendplan.h Allow private state in certain planner data structures. 2025-10-07 12:09:30 -04:00
geqo.h Remove PlannerInfo's join_search_private method. 2025-10-07 12:43:45 -04:00
geqo_copy.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_gene.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_misc.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_mutation.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_pool.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_random.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_recombination.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
geqo_selection.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
inherit.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
joininfo.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
optimizer.h Add ExplainState argument to pg_plan_query() and planner(). 2025-10-08 08:33:29 -04:00
orclauses.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
paramassign.h Fix some new issues with planning of PlaceHolderVars. 2025-06-29 15:04:32 -04:00
pathnode.h Implement Eager Aggregation 2025-10-08 17:04:23 +09:00
paths.h Implement Eager Aggregation 2025-10-08 17:04:23 +09:00
placeholder.h Fix some new issues with planning of PlaceHolderVars. 2025-06-29 15:04:32 -04:00
plancat.h Fix misuse of Relids for storing attribute numbers 2025-09-12 11:12:19 +09:00
planmain.h Implement Eager Aggregation 2025-10-08 17:04:23 +09:00
planner.h Add ExplainState argument to pg_plan_query() and planner(). 2025-10-08 08:33:29 -04:00
prep.h Centralize collection of catalog info needed early in the planner 2025-07-22 11:20:40 +09:00
restrictinfo.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
subselect.h Convert 'x IN (VALUES ...)' to 'x = ANY ...' then appropriate 2025-04-04 16:01:50 +03:00
tlist.h Update copyright for 2025 2025-01-01 11:21:55 -05:00