|
|
|
|
@ -16,13 +16,13 @@ |
|
|
|
|
#include "executor/executor.h" |
|
|
|
|
#include "parser/parse_node.h" |
|
|
|
|
|
|
|
|
|
struct ExplainState; /* defined in explain_state.h */ |
|
|
|
|
typedef struct ExplainState ExplainState; /* defined in explain_state.h */ |
|
|
|
|
|
|
|
|
|
/* Hook for plugins to get control in ExplainOneQuery() */ |
|
|
|
|
typedef void (*ExplainOneQuery_hook_type) (Query *query, |
|
|
|
|
int cursorOptions, |
|
|
|
|
IntoClause *into, |
|
|
|
|
struct ExplainState *es, |
|
|
|
|
ExplainState *es, |
|
|
|
|
const char *queryString, |
|
|
|
|
ParamListInfo params, |
|
|
|
|
QueryEnvironment *queryEnv); |
|
|
|
|
@ -31,7 +31,7 @@ extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook; |
|
|
|
|
/* Hook for EXPLAIN plugins to print extra information for each plan */ |
|
|
|
|
typedef void (*explain_per_plan_hook_type) (PlannedStmt *plannedstmt, |
|
|
|
|
IntoClause *into, |
|
|
|
|
struct ExplainState *es, |
|
|
|
|
ExplainState *es, |
|
|
|
|
const char *queryString, |
|
|
|
|
ParamListInfo params, |
|
|
|
|
QueryEnvironment *queryEnv); |
|
|
|
|
@ -42,7 +42,7 @@ typedef void (*explain_per_node_hook_type) (PlanState *planstate, |
|
|
|
|
List *ancestors, |
|
|
|
|
const char *relationship, |
|
|
|
|
const char *plan_name, |
|
|
|
|
struct ExplainState *es); |
|
|
|
|
ExplainState *es); |
|
|
|
|
extern PGDLLIMPORT explain_per_node_hook_type explain_per_node_hook; |
|
|
|
|
|
|
|
|
|
/* Hook for plugins to get control in explain_get_index_name() */ |
|
|
|
|
@ -53,32 +53,32 @@ extern PGDLLIMPORT explain_get_index_name_hook_type explain_get_index_name_hook; |
|
|
|
|
extern void ExplainQuery(ParseState *pstate, ExplainStmt *stmt, |
|
|
|
|
ParamListInfo params, DestReceiver *dest); |
|
|
|
|
extern void standard_ExplainOneQuery(Query *query, int cursorOptions, |
|
|
|
|
IntoClause *into, struct ExplainState *es, |
|
|
|
|
IntoClause *into, ExplainState *es, |
|
|
|
|
const char *queryString, ParamListInfo params, |
|
|
|
|
QueryEnvironment *queryEnv); |
|
|
|
|
|
|
|
|
|
extern TupleDesc ExplainResultDesc(ExplainStmt *stmt); |
|
|
|
|
|
|
|
|
|
extern void ExplainOneUtility(Node *utilityStmt, IntoClause *into, |
|
|
|
|
struct ExplainState *es, ParseState *pstate, |
|
|
|
|
ExplainState *es, ParseState *pstate, |
|
|
|
|
ParamListInfo params); |
|
|
|
|
|
|
|
|
|
extern void ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into, |
|
|
|
|
struct ExplainState *es, const char *queryString, |
|
|
|
|
ExplainState *es, const char *queryString, |
|
|
|
|
ParamListInfo params, QueryEnvironment *queryEnv, |
|
|
|
|
const instr_time *planduration, |
|
|
|
|
const BufferUsage *bufusage, |
|
|
|
|
const MemoryContextCounters *mem_counters); |
|
|
|
|
|
|
|
|
|
extern void ExplainPrintPlan(struct ExplainState *es, QueryDesc *queryDesc); |
|
|
|
|
extern void ExplainPrintTriggers(struct ExplainState *es, |
|
|
|
|
extern void ExplainPrintPlan(ExplainState *es, QueryDesc *queryDesc); |
|
|
|
|
extern void ExplainPrintTriggers(ExplainState *es, |
|
|
|
|
QueryDesc *queryDesc); |
|
|
|
|
|
|
|
|
|
extern void ExplainPrintJITSummary(struct ExplainState *es, |
|
|
|
|
extern void ExplainPrintJITSummary(ExplainState *es, |
|
|
|
|
QueryDesc *queryDesc); |
|
|
|
|
|
|
|
|
|
extern void ExplainQueryText(struct ExplainState *es, QueryDesc *queryDesc); |
|
|
|
|
extern void ExplainQueryParameters(struct ExplainState *es, |
|
|
|
|
extern void ExplainQueryText(ExplainState *es, QueryDesc *queryDesc); |
|
|
|
|
extern void ExplainQueryParameters(ExplainState *es, |
|
|
|
|
ParamListInfo params, int maxlen); |
|
|
|
|
|
|
|
|
|
#endif /* EXPLAIN_H */ |
|
|
|
|
|