aboutsummaryrefslogtreecommitdiff
path: root/src/include/commands/explain.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/commands/explain.h')
-rw-r--r--src/include/commands/explain.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h
index 54dc5e5c254..387839eb5d2 100644
--- a/src/include/commands/explain.h
+++ b/src/include/commands/explain.h
@@ -28,6 +28,23 @@ typedef void (*ExplainOneQuery_hook_type) (Query *query,
QueryEnvironment *queryEnv);
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,
+ const char *queryString,
+ ParamListInfo params,
+ QueryEnvironment *queryEnv);
+extern PGDLLIMPORT explain_per_plan_hook_type explain_per_plan_hook;
+
+/* Hook for EXPLAIN plugins to print extra fields on individual plan nodes */
+typedef void (*explain_per_node_hook_type) (PlanState *planstate,
+ List *ancestors,
+ const char *relationship,
+ const char *plan_name,
+ struct ExplainState *es);
+extern PGDLLIMPORT explain_per_node_hook_type explain_per_node_hook;
+
/* Hook for plugins to get control in explain_get_index_name() */
typedef const char *(*explain_get_index_name_hook_type) (Oid indexId);
extern PGDLLIMPORT explain_get_index_name_hook_type explain_get_index_name_hook;