mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-22 14:27:00 +08:00
Pass cursorOptions to planner_setup_hook.
Commit 94f3ad3961a2cb32d30c79f01a70db4caff13318 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:
@ -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,
|
||||
|
||||
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user