From: Andres Freund Date: Fri, 13 Mar 2026 11:07:07 -0400 Subject: [PATCH v2 11/17] don't include sortsupport.h in execnodes.h --- src/include/bootstrap/bootstrap.h | 1 + src/include/nodes/execnodes.h | 5 ++++- src/backend/executor/nodeGatherMerge.c | 1 + src/backend/executor/nodeIndexscan.c | 1 + src/backend/executor/nodeMergeAppend.c | 1 + src/backend/executor/nodeMergejoin.c | 1 + src/backend/executor/nodeSetOp.c | 1 + 7 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h index e967b2b1885..c0bba03a5ee 100644 --- a/src/include/bootstrap/bootstrap.h +++ b/src/include/bootstrap/bootstrap.h @@ -14,6 +14,7 @@ #ifndef BOOTSTRAP_H #define BOOTSTRAP_H +#include "catalog/pg_attribute.h" #include "nodes/execnodes.h" #include "nodes/parsenodes.h" diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index fef8a3f843f..355f72ea306 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -42,7 +42,6 @@ #include "storage/buf.h" #include "utils/reltrigger.h" #include "utils/snapshot.h" -#include "utils/sortsupport.h" /* * forward references in this file @@ -53,11 +52,15 @@ typedef struct ExprState ExprState; typedef struct ExprContext ExprContext; typedef struct HTAB HTAB; typedef struct QueryEnvironment QueryEnvironment; +typedef struct RelationData *Relation; +typedef Relation *RelationPtr; typedef struct ScanKeyData ScanKeyData; +typedef struct SortSupportData *SortSupport; typedef struct TIDBitmap TIDBitmap; typedef struct Tuplesortstate Tuplesortstate; typedef struct Tuplestorestate Tuplestorestate; typedef struct TupleConversionMap TupleConversionMap; +typedef struct TupleDescData *TupleDesc; typedef struct TupleTableSlot TupleTableSlot; typedef struct TupleTableSlotOps TupleTableSlotOps; diff --git a/src/backend/executor/nodeGatherMerge.c b/src/backend/executor/nodeGatherMerge.c index ae212194182..c2ac5e0792c 100644 --- a/src/backend/executor/nodeGatherMerge.c +++ b/src/backend/executor/nodeGatherMerge.c @@ -22,6 +22,7 @@ #include "lib/binaryheap.h" #include "miscadmin.h" #include "optimizer/optimizer.h" +#include "utils/sortsupport.h" /* * When we read tuples from workers, it's a good idea to read several at once diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c index a616abff04c..ff1c6d50626 100644 --- a/src/backend/executor/nodeIndexscan.c +++ b/src/backend/executor/nodeIndexscan.c @@ -42,6 +42,7 @@ #include "utils/datum.h" #include "utils/lsyscache.h" #include "utils/rel.h" +#include "utils/sortsupport.h" /* * When an ordering operator is used, tuples fetched from the index that diff --git a/src/backend/executor/nodeMergeAppend.c b/src/backend/executor/nodeMergeAppend.c index 30bfeaf7c13..72eebd50bdf 100644 --- a/src/backend/executor/nodeMergeAppend.c +++ b/src/backend/executor/nodeMergeAppend.c @@ -43,6 +43,7 @@ #include "executor/nodeMergeAppend.h" #include "lib/binaryheap.h" #include "miscadmin.h" +#include "utils/sortsupport.h" /* * We have one slot for each item in the heap array. We use SlotNumber diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c index cbcae4c70b8..24061698282 100644 --- a/src/backend/executor/nodeMergejoin.c +++ b/src/backend/executor/nodeMergejoin.c @@ -97,6 +97,7 @@ #include "executor/nodeMergejoin.h" #include "miscadmin.h" #include "utils/lsyscache.h" +#include "utils/sortsupport.h" /* diff --git a/src/backend/executor/nodeSetOp.c b/src/backend/executor/nodeSetOp.c index 24cd713b12c..24709778384 100644 --- a/src/backend/executor/nodeSetOp.c +++ b/src/backend/executor/nodeSetOp.c @@ -50,6 +50,7 @@ #include "executor/nodeSetOp.h" #include "miscadmin.h" #include "utils/memutils.h" +#include "utils/sortsupport.h" /* -- 2.53.0.1.gb2826b52eb --oaf4egjku6f6i2la Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v2-0012-don-t-include-snapshot.h-in-execnodes.h.patch"