Pass cursorOptions to planner_setup_hook.

Commit 94f3ad3961 failed to do this
because I couldn't think of a use for the information, but this has
proven to be short-sighted. Best to fix it before this code is
officially released.

Now, the only argument to standard_planenr that isn't passed to
planner_setup_hook is boundParams, but that is accessible via
glob->boundParams, and so doesn't need to be passed separately.

Discussion: https://www.postgresql.org/message-id/CA+TgmoYS4ZCVAF2jTce=bMP0Oq_db_srocR4cZyO0OBp9oUoGg@mail.gmail.com
This commit is contained in:
Robert Haas 2026-02-10 11:50:28 -05:00
parent cbdf93d471
commit 0f4c8d33d4
2 changed files with 3 additions and 1 deletions

View file

@ -511,7 +511,8 @@ standard_planner(Query *parse, const char *query_string, int cursorOptions,
/* Allow plugins to take control after we've initialized "glob" */
if (planner_setup_hook)
(*planner_setup_hook) (glob, parse, query_string, &tuple_fraction, es);
(*planner_setup_hook) (glob, parse, query_string, cursorOptions,
&tuple_fraction, es);
/* primary planning entry point (may recurse for subqueries) */
root = subquery_planner(glob, parse, NULL, NULL, false, tuple_fraction,

View file

@ -35,6 +35,7 @@ extern PGDLLIMPORT planner_hook_type planner_hook;
/* Hook for plugins to get control after PlannerGlobal is initialized */
typedef void (*planner_setup_hook_type) (PlannerGlobal *glob, Query *parse,
const char *query_string,
int cursorOptions,
double *tuple_fraction,
ExplainState *es);
extern PGDLLIMPORT planner_setup_hook_type planner_setup_hook;