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 { @@ -1681,23 +1674,6 @@ typedef struct MergeWhenClause List *values; /* VALUES to INSERT, or NULL */ } 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"