pgsql: Allow private state in certain planner data structures.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Allow private state in certain planner data structures.
Date: 2025-10-07 16:21:22
Message-ID: E1v6ARG-000XDO-1H@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Allow private state in certain planner data structures.

Extension that make extensive use of planner hooks may want to
coordinate their efforts, for example to avoid duplicate computation,
but that's currently difficult because there's no really good way to
pass data between different hooks.

To make that easier, allow for storage of extension-managed private
state in PlannerGlobal, PlannerInfo, and RelOptInfo, along very
similar lines to what we have permitted for ExplainState since commit
c65bc2e1d14a2d4daed7c1921ac518f2c5ac3d17.

Reviewed-by: Andrei Lepikhov <lepihov(at)gmail(dot)com>
Reviewed-by: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: http://postgr.es/m/CA+TgmoYWKHU2hKr62Toyzh-kTDEnMDeLw7gkOOnjL-TnOUq0kQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0132dddab33a6eae2d3d63eda9f053e745fedb06

Modified Files
--------------
src/backend/optimizer/util/Makefile | 1 +
src/backend/optimizer/util/extendplan.c | 183 ++++++++++++++++++++++++++++++++
src/backend/optimizer/util/meson.build | 1 +
src/include/nodes/pathnodes.h | 12 +++
src/include/optimizer/extendplan.h | 72 +++++++++++++
5 files changed, 269 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2025-10-07 16:49:47 pgsql: Remove PlannerInfo's join_search_private method.
Previous Message Tom Lane 2025-10-07 16:13:05 Re: pgsql: Adjust new TAP test to work on macOS.