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.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h
index ca213d7f704..664499c2d35 100644
--- a/src/include/commands/explain.h
+++ b/src/include/commands/explain.h
@@ -24,6 +24,13 @@ typedef enum ExplainFormat
EXPLAIN_FORMAT_YAML
} ExplainFormat;
+/* Crude hack to avoid changing sizeof(ExplainState) in released branches */
+typedef struct ExplainStateExtra
+{
+ List *groupingstack; /* format-specific grouping state */
+ List *deparsecxt; /* context list for deparsing expressions */
+} ExplainStateExtra;
+
typedef struct ExplainState
{
StringInfo str; /* output buffer */
@@ -39,7 +46,7 @@ typedef struct ExplainState
List *rtable; /* range table */
List *rtable_names; /* alias names for RTEs */
int indent; /* current indentation level */
- List *grouping_stack; /* format-specific grouping state */
+ ExplainStateExtra *extra; /* pointer to additional data */
} ExplainState;
/* Hook for plugins to get control in ExplainOneQuery() */