PostgreSQL Source Code git master
Loading...
Searching...
No Matches
pg_plan_advice.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pg_plan_advice.h
4 * main header file for pg_plan_advice contrib module
5 *
6 * Copyright (c) 2016-2026, PostgreSQL Global Development Group
7 *
8 * contrib/pg_plan_advice/pg_plan_advice.h
9 *
10 *-------------------------------------------------------------------------
11 */
12#ifndef PG_PLAN_ADVICE_H
13#define PG_PLAN_ADVICE_H
14
16#include "nodes/pathnodes.h"
17
18/* Hook for other plugins to supply advice strings */
19typedef char *(*pg_plan_advice_advisor_hook) (PlannerGlobal *glob,
20 Query *parse,
21 const char *query_string,
22 int cursorOptions,
23 ExplainState *es);
24
25/* GUC variables */
26extern char *pg_plan_advice_advice;
30
31/* Function prototypes (for use by pg_plan_advice itself) */
35 Query *parse,
36 const char *query_string,
37 int cursorOptions,
38 ExplainState *es);
39
40/* Function prototypes (for use by other plugins) */
44
45#endif
#define PGDLLEXPORT
Definition c.h:1420
void parse(int)
Definition parse.c:49
PGDLLEXPORT void pg_plan_advice_request_advice_generation(bool activate)
PGDLLEXPORT void pg_plan_advice_remove_advisor(pg_plan_advice_advisor_hook hook)
char * pg_plan_advice_advice
MemoryContext pg_plan_advice_get_mcxt(void)
bool pg_plan_advice_trace_mask
bool pg_plan_advice_always_store_advice_details
bool pg_plan_advice_should_explain(ExplainState *es)
char * pg_plan_advice_get_supplied_query_advice(PlannerGlobal *glob, Query *parse, const char *query_string, int cursorOptions, ExplainState *es)
char *(* pg_plan_advice_advisor_hook)(PlannerGlobal *glob, Query *parse, const char *query_string, int cursorOptions, ExplainState *es)
bool pg_plan_advice_feedback_warnings
PGDLLEXPORT void pg_plan_advice_add_advisor(pg_plan_advice_advisor_hook hook)
static int fb(int x)