Reduce header inclusions via execnodes.h

Álvaro Herrera <alvherre@kurilemu.de>

Commit: fba4233c832870c8363438419743c48fdcb2151c
Author: Álvaro Herrera <alvherre@kurilemu.de>
Date: 2026-03-16T13:34:57Z
Reduce header inclusions via execnodes.h

Remove a bunch of #include lines from execnodes.h.  Most of these
requier suitable typedefs to be added, so that it still compiles
standalone.  In one case, the fix is to move a struct definition to the
one .c file where it is needed.

Also some light clean up in plannodes.h and genam.h, though not as
extensive as in execnodes.h.

Author: Álvaro Herrera <alvherre@kurilemu.de>
Author: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/202603131240.ihwqdxnj7w2o@alvherre.pgsql

Files

PathChange+/−
contrib/amcheck/verify_heapam.c modified +1 −0
contrib/dblink/dblink.c modified +1 −0
contrib/hstore/hstore_subs.c modified +1 −0
contrib/pageinspect/brinfuncs.c modified +1 −0
contrib/pageinspect/gistfuncs.c modified +1 −0
contrib/pg_buffercache/pg_buffercache_pages.c modified +1 −0
contrib/pgrowlocks/pgrowlocks.c modified +1 −0
contrib/pg_stat_statements/pg_stat_statements.c modified +1 −0
contrib/pg_walinspect/pg_walinspect.c modified +2 −0
contrib/postgres_fdw/connection.c modified +1 −0
contrib/postgres_fdw/postgres_fdw.c modified +1 −0
contrib/tablefunc/tablefunc.c modified +1 −0
contrib/tsm_system_time/tsm_system_time.c modified +1 −0
contrib/xml2/xpath.c modified +1 −0
src/backend/access/brin/brin.c modified +2 −0
src/backend/access/gin/gininsert.c modified +3 −0
src/backend/access/heap/heapam_handler.c modified +1 −0
src/backend/access/nbtree/nbtsort.c modified +1 −0
src/backend/access/transam/xlogprefetcher.c modified +2 −0
src/backend/backup/walsummaryfuncs.c modified +1 −0
src/backend/bootstrap/bootstrap.c modified +1 −0
src/backend/catalog/index.c modified +1 −0
src/backend/commands/analyze.c modified +1 −0
src/backend/commands/copyfrom.c modified +1 −0
src/backend/commands/copyfromparse.c modified +1 −0
src/backend/commands/copyto.c modified +1 −0
src/backend/commands/event_trigger.c modified +1 −0
src/backend/commands/explain.c modified +1 −0
src/backend/commands/extension.c modified +1 −0
src/backend/commands/indexcmds.c modified +1 −0
src/backend/commands/prepare.c modified +2 −0
src/backend/commands/tablecmds.c modified +1 −0
src/backend/commands/trigger.c modified +2 −0
src/backend/commands/wait.c modified +1 −0
src/backend/executor/execAmi.c modified +1 −0
src/backend/executor/execAsync.c modified +1 −0
src/backend/executor/execExprInterp.c modified +2 −0
src/backend/executor/execMain.c modified +2 −0
src/backend/executor/execPartition.c modified +1 −0
src/backend/executor/execProcnode.c modified +1 −0
src/backend/executor/execSRF.c modified +1 −0
src/backend/executor/execUtils.c modified +2 −0
src/backend/executor/functions.c modified +1 −0
src/backend/executor/nodeAgg.c modified +2 −0
src/backend/executor/nodeBitmapAnd.c modified +2 −0
src/backend/executor/nodeBitmapHeapscan.c modified +40 −0
src/backend/executor/nodeBitmapIndexscan.c modified +2 −0
src/backend/executor/nodeBitmapOr.c modified +2 −0
src/backend/executor/nodeCtescan.c modified +1 −0
src/backend/executor/nodeFunctionscan.c modified +1 −0
src/backend/executor/nodeGatherMerge.c modified +1 −0
src/backend/executor/nodeGroup.c modified +1 −0
src/backend/executor/nodeHash.c modified +1 −0
src/backend/executor/nodeHashjoin.c modified +1 −0
src/backend/executor/nodeIndexonlyscan.c modified +1 −0
src/backend/executor/nodeIndexscan.c modified +2 −0
src/backend/executor/nodeMaterial.c modified +1 −0
src/backend/executor/nodeMergeAppend.c modified +1 −0
src/backend/executor/nodeMergejoin.c modified +2 −0
src/backend/executor/nodeModifyTable.c modified +2 −0
src/backend/executor/nodeNamedtuplestorescan.c modified +1 −0
src/backend/executor/nodeNestloop.c modified +1 −0
src/backend/executor/nodeRecursiveunion.c modified +1 −0
src/backend/executor/nodeSetOp.c modified +1 −0
src/backend/executor/nodeTableFuncscan.c modified +1 −0
src/backend/executor/nodeWindowAgg.c modified +2 −0
src/backend/executor/nodeWorktablescan.c modified +1 −0
src/backend/executor/spi.c modified +1 −0
src/backend/foreign/foreign.c modified +1 −0
src/backend/jit/jit.c modified +1 −0
src/backend/optimizer/path/costsize.c modified +1 −0
src/backend/optimizer/plan/initsplan.c modified +1 −0
src/backend/optimizer/prep/preptlist.c modified +2 −0
src/backend/optimizer/prep/prepunion.c modified +1 −0
src/backend/optimizer/util/appendinfo.c modified +1 −0
src/backend/optimizer/util/predtest.c modified +1 −0
src/backend/parser/parse_utilcmd.c modified +1 −0
src/backend/postmaster/autovacuum.c modified +1 −0
src/backend/replication/logical/worker.c modified +2 −0
src/backend/rewrite/rewriteGraphTable.c modified +1 −0
src/backend/rewrite/rewriteManip.c modified +1 −0
src/backend/storage/ipc/dsm_registry.c modified +1 −0
src/backend/storage/ipc/shmem.c modified +3 −0
src/backend/tcop/postgres.c modified +1 −0
src/backend/utils/activity/wait_event_funcs.c modified +1 −0
src/backend/utils/adt/acl.c modified +1 −0
src/backend/utils/adt/arraysubs.c modified +1 −0
src/backend/utils/adt/datetime.c modified +1 −0
src/backend/utils/adt/hbafuncs.c modified +1 −0
src/backend/utils/adt/jsonbsubs.c modified +1 −0
src/backend/utils/adt/json.c modified +1 −0
src/backend/utils/adt/jsonfuncs.c modified +1 −0
src/backend/utils/adt/mcxtfuncs.c modified +2 −0
src/backend/utils/adt/misc.c modified +1 −0
src/backend/utils/adt/pgstatfuncs.c modified +1 −0
src/backend/utils/adt/rangetypes.c modified +2 −0
src/backend/utils/adt/varlena.c modified +2 −0
src/backend/utils/cache/relcache.c modified +1 −0
src/backend/utils/fmgr/fmgr.c modified +1 −0
src/backend/utils/init/postinit.c modified +1 −0
src/backend/utils/misc/guc_funcs.c modified +2 −0
src/backend/utils/misc/pg_config.c modified +1 −0
src/backend/utils/mmgr/portalmem.c modified +2 −0
src/backend/utils/sort/tuplestore.c modified +1 −0
src/include/access/genam.h modified +6 −4
src/include/access/gin_private.h modified +1 −0
src/include/bootstrap/bootstrap.h modified +1 −0
src/include/catalog/index.h modified +6 −0
src/include/commands/explain.h modified +1 −0
src/include/commands/explain_state.h modified +1 −0
src/include/executor/execScan.h modified +1 −0
src/include/executor/executor.h modified +1 −0
src/include/executor/hashjoin.h modified +2 −0
src/include/lib/simplehash.h modified +2 −1
src/include/nodes/execnodes.h modified +27 −49
src/include/nodes/plannodes.h modified +0 −2
src/pl/plperl/plperl.c modified +1 −0
src/pl/tcl/pltcl.c modified +1 −0
src/test/modules/injection_points/injection_points.c modified +1 −0
src/test/modules/test_custom_stats/test_custom_var_stats.c modified +1 −0
src/test/modules/test_ddl_deparse/test_ddl_deparse.c modified +1 −0
src/test/modules/test_regex/test_regex.c modified +1 −0

Discussion