-
Notifications
You must be signed in to change notification settings - Fork 2
Comparing changes
Open a pull request
base repository: postgresql-cfbot/postgresql
base: cf/5994~1
head repository: postgresql-cfbot/postgresql
compare: cf/5994
- 6 commits
- 16 files changed
- 2 contributors
Commits on Aug 30, 2025
-
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 c65bc2e.
Configuration menu - View commit details
-
Copy full SHA for f6a2e60 - Browse repository at this point
Copy the full SHA f6a2e60View commit details -
Remove PlannerInfo's join_search_private method.
Instead, use the new mechanism that allows planner extensions to store private state inside a PlannerInfo, treating GEQO as an in-core planner extension. This is a useful test of the new facility, and also buys back a few bytes of storage. To make this work, we must remove innerrel_is_unique_ext's hack of testing whether join_search_private is set as a proxy for whether the join search might be retried. Add a flag that extensions can use to explicitly signal their intentions instead.
Configuration menu - View commit details
-
Copy full SHA for 14d6781 - Browse repository at this point
Copy the full SHA 14d6781View commit details -
Add planner_setup_hook and planner_shutdown_hook.
These hooks allow plugins to get control at the earliest point at which the PlannerGlobal object is fully initialized, and then just before it gets destroyed. This is useful in combination with the extendable plan state facilities (see extendplan.h) and perhaps for other purposes as well.
Configuration menu - View commit details
-
Copy full SHA for 97ed255 - Browse repository at this point
Copy the full SHA 97ed255View commit details -
Add extension_state member to PlannedStmt.
Extensions can stash data computed at plan time into this list using planner_shutdown_hook (or perhaps other mechanisms) and then access it from any code that has access to the PlannedStmt (such as explain hooks), allowing for extensible debugging and instrumentation of plans.
Configuration menu - View commit details
-
Copy full SHA for e2f9205 - Browse repository at this point
Copy the full SHA e2f9205View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd74912 - Browse repository at this point
Copy the full SHA bd74912View commit details -
[CF 5994] v3 - extensible planner state
This branch was automatically generated by a robot using patches from an email thread registered at: https://commitfest.postgresql.org/patch/5994 The branch will be overwritten each time a new patch version is posted to the thread, and also periodically to check for bitrot caused by changes on the master branch. Patch(es): https://www.postgresql.org/message-id/CA+TgmoY=53ywD4DK4BpZCO6H3dc0e8pDEDtZ_p2anM77QL01Kg@mail.gmail.com Author(s): Robert Haas
Commitfest Bot committedAug 30, 2025 Configuration menu - View commit details
-
Copy full SHA for e351fd7 - Browse repository at this point
Copy the full SHA e351fd7View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff cf/5994~1...cf/5994