summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera2023-11-07 18:26:39 +0000
committerAlvaro Herrera2023-11-07 18:26:39 +0000
commit615f5f6faa0fb659c4e20e1d2137a869cd33058b (patch)
tree0da308badec8c8b7232400724d06897e763b593c
parent3c551ebede46194237f82062b54b92e474b5c743 (diff)
Stop including parsenodes.h in plannodes.h
I added it by mistake in commit 7103ebb7aae8. To clean up, struct MergeAction needs to be moved to primnodes.h from parsenodes.h. (This forces us to also move OverridingKind to primnodes.h). Having to add parsenodes.h to bootstrap.h as fallout is a bit surprising, since nothing nominally needs it there. However, per comments in bootscanner.l, it is needed so that YYSTYPE can be declared. I think this only started with commit dac048f71ebb, but I didn't actually verify that. In passing, stop including parsenodes.h in tcopprot.h. Nothing needs it there. Per discussion on a patch by Ashutosh Bapat. Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/backend/utils/adt/windowfuncs.c1
-rw-r--r--src/include/bootstrap/bootstrap.h1
-rw-r--r--src/include/nodes/parsenodes.h24
-rw-r--r--src/include/nodes/plannodes.h1
-rw-r--r--src/include/nodes/primnodes.h27
-rw-r--r--src/include/tcop/tcopprot.h1
6 files changed, 29 insertions, 26 deletions
diff --git a/src/backend/utils/adt/windowfuncs.c b/src/backend/utils/adt/windowfuncs.c
index b87a624fb2f..0bfbac00d7b 100644
--- a/src/backend/utils/adt/windowfuncs.c
+++ b/src/backend/utils/adt/windowfuncs.c
@@ -13,6 +13,7 @@
*/
#include "postgres.h"
+#include "nodes/parsenodes.h"
#include "nodes/supportnodes.h"
#include "utils/builtins.h"
#include "windowapi.h"
diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h
index e1cb73c5f2e..6a212122a31 100644
--- a/src/include/bootstrap/bootstrap.h
+++ b/src/include/bootstrap/bootstrap.h
@@ -15,6 +15,7 @@
#define BOOTSTRAP_H
#include "nodes/execnodes.h"
+#include "nodes/parsenodes.h"
/*
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index cf7e79062ed..e494309da8d 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -30,13 +30,6 @@
#include "partitioning/partdefs.h"
-typedef enum OverridingKind
-{
- OVERRIDING_NOT_SET = 0,
- OVERRIDING_USER_VALUE,
- OVERRIDING_SYSTEM_VALUE,
-} OverridingKind;
-
/* Possible sources of a Query */
typedef enum QuerySource
{
@@ -1682,23 +1675,6 @@ typedef struct MergeWhenClause
} MergeWhenClause;
/*
- * MergeAction -
- * Transformed representation of a WHEN clause in a MERGE statement
- */
-typedef struct MergeAction
-{
- NodeTag type;
- bool matched; /* true=MATCHED, false=NOT MATCHED */
- CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */
- /* OVERRIDING clause */
- OverridingKind override pg_node_attr(query_jumble_ignore);
- Node *qual; /* transformed WHEN conditions */
- List *targetList; /* the target list (of TargetEntry) */
- /* target attribute numbers of an UPDATE */
- List *updateColnos pg_node_attr(query_jumble_ignore);
-} MergeAction;
-
-/*
* TriggerTransition -
* representation of transition row or table naming clause
*
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h
index 24d46c76dc2..d40af8e59fe 100644
--- a/src/include/nodes/plannodes.h
+++ b/src/include/nodes/plannodes.h
@@ -20,7 +20,6 @@
#include "lib/stringinfo.h"
#include "nodes/bitmapset.h"
#include "nodes/lockoptions.h"
-#include "nodes/parsenodes.h"
#include "nodes/primnodes.h"
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h
index ab6d7fdc6df..bb930afb521 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -22,6 +22,14 @@
#include "nodes/pg_list.h"
+typedef enum OverridingKind
+{
+ OVERRIDING_NOT_SET = 0,
+ OVERRIDING_USER_VALUE,
+ OVERRIDING_SYSTEM_VALUE,
+} OverridingKind;
+
+
/* ----------------------------------------------------------------
* node definitions
* ----------------------------------------------------------------
@@ -1718,6 +1726,25 @@ typedef struct BooleanTest
int location; /* token location, or -1 if unknown */
} BooleanTest;
+
+/*
+ * MergeAction
+ *
+ * Transformed representation of a WHEN clause in a MERGE statement
+ */
+typedef struct MergeAction
+{
+ NodeTag type;
+ bool matched; /* true=MATCHED, false=NOT MATCHED */
+ CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */
+ /* OVERRIDING clause */
+ OverridingKind override pg_node_attr(query_jumble_ignore);
+ Node *qual; /* transformed WHEN conditions */
+ List *targetList; /* the target list (of TargetEntry) */
+ /* target attribute numbers of an UPDATE */
+ List *updateColnos pg_node_attr(query_jumble_ignore);
+} MergeAction;
+
/*
* CoerceToDomain
*
diff --git a/src/include/tcop/tcopprot.h b/src/include/tcop/tcopprot.h
index 6c49db3bb7f..b694d85974a 100644
--- a/src/include/tcop/tcopprot.h
+++ b/src/include/tcop/tcopprot.h
@@ -15,7 +15,6 @@
#define TCOPPROT_H
#include "nodes/params.h"
-#include "nodes/parsenodes.h"
#include "nodes/plannodes.h"
#include "storage/procsignal.h"
#include "utils/guc.h"