Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cf/5994~1
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5994
Choose a head ref
  • 6 commits
  • 16 files changed
  • 2 contributors

Commits on Aug 30, 2025

  1. 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.
    robertmhaas authored and Commitfest Bot committed Aug 30, 2025
    Configuration menu
    Copy the full SHA
    f6a2e60 View commit details
    Browse the repository at this point in the history
  2. 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.
    robertmhaas authored and Commitfest Bot committed Aug 30, 2025
    Configuration menu
    Copy the full SHA
    14d6781 View commit details
    Browse the repository at this point in the history
  3. 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.
    robertmhaas authored and Commitfest Bot committed Aug 30, 2025
    Configuration menu
    Copy the full SHA
    97ed255 View commit details
    Browse the repository at this point in the history
  4. 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.
    robertmhaas authored and Commitfest Bot committed Aug 30, 2025
    Configuration menu
    Copy the full SHA
    e2f9205 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bd74912 View commit details
    Browse the repository at this point in the history
  6. [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 committed Aug 30, 2025
    Configuration menu
    Copy the full SHA
    e351fd7 View commit details
    Browse the repository at this point in the history
Loading