diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c index ada782f98f5..20ff58aa782 100644 --- a/contrib/amcheck/verify_heapam.c +++ b/contrib/amcheck/verify_heapam.c @@ -24,6 +24,7 @@ #include "funcapi.h" #include "miscadmin.h" #include "storage/bufmgr.h" +#include "storage/lwlock.h" #include "storage/procarray.h" #include "storage/read_stream.h" #include "utils/builtins.h" diff --git a/src/backend/access/common/relation.c b/src/backend/access/common/relation.c index 92a6e37d8bd..38b356b8239 100644 --- a/src/backend/access/common/relation.c +++ b/src/backend/access/common/relation.c @@ -25,6 +25,7 @@ #include "catalog/namespace.h" #include "pgstat.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "utils/inval.h" #include "utils/syscache.h" diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c index 237ab8d0ed9..a6002ae9b07 100644 --- a/src/backend/access/common/reloptions.c +++ b/src/backend/access/common/reloptions.c @@ -28,6 +28,7 @@ #include "commands/defrem.h" #include "commands/tablespace.h" #include "nodes/makefuncs.h" +#include "storage/lock.h" #include "utils/array.h" #include "utils/attoptcache.h" #include "utils/builtins.h" diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c index 253a735b6c1..d40878928e1 100644 --- a/src/backend/access/heap/heapam_handler.c +++ b/src/backend/access/heap/heapam_handler.c @@ -40,6 +40,7 @@ #include "storage/bufmgr.h" #include "storage/bufpage.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "storage/predicate.h" #include "storage/procarray.h" #include "storage/smgr.h" diff --git a/src/backend/access/index/indexam.c b/src/backend/access/index/indexam.c index 5eb7e99ad3e..fbfc33159eb 100644 --- a/src/backend/access/index/indexam.c +++ b/src/backend/access/index/indexam.c @@ -53,6 +53,7 @@ #include "nodes/execnodes.h" #include "pgstat.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "storage/predicate.h" #include "utils/ruleutils.h" #include "utils/snapmgr.h" diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index aed74590cf4..6d870e4ebe7 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -30,6 +30,7 @@ #include "storage/indexfsm.h" #include "storage/ipc.h" #include "storage/lmgr.h" +#include "storage/lwlock.h" #include "storage/read_stream.h" #include "utils/datum.h" #include "utils/fmgrprotos.h" diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index 9b091858997..732bc750c9e 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -24,6 +24,7 @@ #include "common/int.h" #include "lib/qunique.h" #include "miscadmin.h" +#include "storage/lwlock.h" #include "utils/datum.h" #include "utils/lsyscache.h" #include "utils/rel.h" diff --git a/src/backend/catalog/pg_inherits.c b/src/backend/catalog/pg_inherits.c index cef80633157..4b9802aafcc 100644 --- a/src/backend/catalog/pg_inherits.c +++ b/src/backend/catalog/pg_inherits.c @@ -28,6 +28,7 @@ #include "storage/lmgr.h" #include "utils/builtins.h" #include "utils/fmgroids.h" +#include "utils/hsearch.h" #include "utils/snapmgr.h" #include "utils/syscache.h" diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 3673d4f0bc1..1d140c513d0 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -26,6 +26,7 @@ #include "foreign/foreign.h" #include "miscadmin.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "utils/acl.h" #include "utils/array.h" #include "utils/builtins.h" diff --git a/src/backend/commands/conversioncmds.c b/src/backend/commands/conversioncmds.c index 61aa8bb9fd1..5f2022d3072 100644 --- a/src/backend/commands/conversioncmds.c +++ b/src/backend/commands/conversioncmds.c @@ -19,6 +19,7 @@ #include "catalog/pg_proc.h" #include "catalog/pg_type.h" #include "commands/conversioncmds.h" +#include "fmgr.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "parser/parse_func.h" diff --git a/src/backend/commands/discard.c b/src/backend/commands/discard.c index 7b5520b9abe..17d172df076 100644 --- a/src/backend/commands/discard.c +++ b/src/backend/commands/discard.c @@ -19,6 +19,7 @@ #include "commands/discard.h" #include "commands/prepare.h" #include "commands/sequence.h" +#include "storage/lock.h" #include "utils/guc.h" #include "utils/portal.h" diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c index ed2a93a09db..d91fcf0facf 100644 --- a/src/backend/commands/tablespace.c +++ b/src/backend/commands/tablespace.c @@ -70,6 +70,7 @@ #include "miscadmin.h" #include "postmaster/bgwriter.h" #include "storage/fd.h" +#include "storage/lwlock.h" #include "storage/procsignal.h" #include "storage/standby.h" #include "utils/acl.h" diff --git a/src/backend/optimizer/util/inherit.c b/src/backend/optimizer/util/inherit.c index 8d623bf136d..6a7b9edff3f 100644 --- a/src/backend/optimizer/util/inherit.c +++ b/src/backend/optimizer/util/inherit.c @@ -14,6 +14,8 @@ */ #include "postgres.h" +#include + #include "access/sysattr.h" #include "access/table.h" #include "catalog/partition.h" diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c index a6b402f2d7b..2f218c1ab8b 100644 --- a/src/backend/parser/parse_oper.c +++ b/src/backend/parser/parse_oper.c @@ -25,6 +25,7 @@ #include "parser/parse_oper.h" #include "parser/parse_type.h" #include "utils/builtins.h" +#include "utils/hsearch.h" #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/syscache.h" diff --git a/src/backend/replication/logical/sequencesync.c b/src/backend/replication/logical/sequencesync.c index 9c92fddd624..a4fb6783ba9 100644 --- a/src/backend/replication/logical/sequencesync.c +++ b/src/backend/replication/logical/sequencesync.c @@ -60,6 +60,7 @@ #include "postmaster/interrupt.h" #include "replication/logicalworker.h" #include "replication/worker_internal.h" +#include "storage/lwlock.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/fmgroids.h" diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c index aca2c8fc742..e5a2289f0b0 100644 --- a/src/backend/utils/activity/wait_event.c +++ b/src/backend/utils/activity/wait_event.c @@ -22,8 +22,9 @@ */ #include "postgres.h" -#include "storage/lmgr.h" /* for GetLockNameFromTagType */ -#include "storage/lwlock.h" /* for GetLWLockIdentifier */ +#include "storage/lmgr.h" +#include "storage/lwlock.h" +#include "storage/shmem.h" #include "storage/spin.h" #include "utils/wait_event.h" diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 3a4f19e8d58..e19f0d3e51c 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -77,6 +77,7 @@ #include "rewrite/rowsecurity.h" #include "storage/fd.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "storage/smgr.h" #include "utils/array.h" #include "utils/builtins.h" diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 007a9a15d71..f4233f9e31a 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -32,6 +32,7 @@ #include "lib/qunique.h" #include "miscadmin.h" #include "storage/lmgr.h" +#include "storage/lock.h" #include "utils/catcache.h" #include "utils/inval.h" #include "utils/lsyscache.h" diff --git a/src/backend/utils/cache/ts_cache.c b/src/backend/utils/cache/ts_cache.c index 744c8e71d71..9e29f1386b0 100644 --- a/src/backend/utils/cache/ts_cache.c +++ b/src/backend/utils/cache/ts_cache.c @@ -44,6 +44,7 @@ #include "utils/catcache.h" #include "utils/fmgroids.h" #include "utils/guc_hooks.h" +#include "utils/hsearch.h" #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" diff --git a/src/include/access/reloptions.h b/src/include/access/reloptions.h index 0bd17b30ca7..c228147420a 100644 --- a/src/include/access/reloptions.h +++ b/src/include/access/reloptions.h @@ -23,7 +23,6 @@ #include "access/htup.h" #include "access/tupdesc.h" #include "nodes/pg_list.h" -#include "storage/lock.h" /* types supported by reloptions */ typedef enum relopt_type diff --git a/src/include/access/twophase.h b/src/include/access/twophase.h index e312514ba87..761d56a5f3d 100644 --- a/src/include/access/twophase.h +++ b/src/include/access/twophase.h @@ -17,7 +17,12 @@ #include "access/xact.h" #include "access/xlogdefs.h" #include "datatype/timestamp.h" -#include "storage/lock.h" + +/* + * forward references in this file + */ +typedef struct PGPROC PGPROC; +typedef struct VirtualTransactionId VirtualTransactionId; /* * GlobalTransactionData is defined in twophase.c; other places have no diff --git a/src/include/catalog/namespace.h b/src/include/catalog/namespace.h index 1a25973685c..9453a3e4932 100644 --- a/src/include/catalog/namespace.h +++ b/src/include/catalog/namespace.h @@ -15,7 +15,7 @@ #define NAMESPACE_H #include "nodes/primnodes.h" -#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/procnumber.h" diff --git a/src/include/catalog/pg_inherits.h b/src/include/catalog/pg_inherits.h index 7a36241d7b3..cc874abaabb 100644 --- a/src/include/catalog/pg_inherits.h +++ b/src/include/catalog/pg_inherits.h @@ -22,7 +22,7 @@ #include "catalog/pg_inherits_d.h" /* IWYU pragma: export */ #include "nodes/pg_list.h" -#include "storage/lock.h" +#include "storage/lockdefs.h" /* ---------------- * pg_inherits definition. cpp turns this into diff --git a/src/include/catalog/toasting.h b/src/include/catalog/toasting.h index 7e0a9f8e9bf..0bc61a8fee9 100644 --- a/src/include/catalog/toasting.h +++ b/src/include/catalog/toasting.h @@ -14,7 +14,7 @@ #ifndef TOASTING_H #define TOASTING_H -#include "storage/lock.h" +#include "storage/lockdefs.h" /* * toasting.c prototypes diff --git a/src/include/commands/cluster.h b/src/include/commands/cluster.h index 28741988478..c79cd2d0e19 100644 --- a/src/include/commands/cluster.h +++ b/src/include/commands/cluster.h @@ -15,7 +15,7 @@ #include "nodes/parsenodes.h" #include "parser/parse_node.h" -#include "storage/lock.h" +#include "storage/lockdefs.h" #include "utils/relcache.h" diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h index ed38b311ddf..c3d8518cb62 100644 --- a/src/include/commands/tablecmds.h +++ b/src/include/commands/tablecmds.h @@ -18,7 +18,7 @@ #include "catalog/dependency.h" #include "catalog/objectaddress.h" #include "nodes/parsenodes.h" -#include "storage/lock.h" +#include "storage/lockdefs.h" #include "utils/relcache.h" typedef struct AlterTableUtilityContext AlterTableUtilityContext; /* avoid including diff --git a/src/include/commands/vacuum.h b/src/include/commands/vacuum.h index 953a506181e..1f45bca015c 100644 --- a/src/include/commands/vacuum.h +++ b/src/include/commands/vacuum.h @@ -23,7 +23,6 @@ #include "catalog/pg_type.h" #include "parser/parse_node.h" #include "storage/buf.h" -#include "storage/lock.h" #include "utils/relcache.h" /* diff --git a/src/include/replication/worker_internal.h b/src/include/replication/worker_internal.h index 4ecbdcfadac..745b7d9e969 100644 --- a/src/include/replication/worker_internal.h +++ b/src/include/replication/worker_internal.h @@ -20,7 +20,6 @@ #include "replication/walreceiver.h" #include "storage/buffile.h" #include "storage/fileset.h" -#include "storage/lock.h" #include "storage/shm_mq.h" #include "storage/shm_toc.h" #include "storage/spin.h" diff --git a/src/include/storage/lmgr.h b/src/include/storage/lmgr.h index 74a398ffc00..2a985ce5e15 100644 --- a/src/include/storage/lmgr.h +++ b/src/include/storage/lmgr.h @@ -16,7 +16,7 @@ #include "lib/stringinfo.h" #include "storage/itemptr.h" -#include "storage/lock.h" +#include "storage/locktag.h" #include "utils/rel.h" diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h index 9505701a805..fa68e6ecece 100644 --- a/src/include/storage/lock.h +++ b/src/include/storage/lock.h @@ -59,7 +59,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; * coding errors from trying to use struct assignment with it; instead use * GET_VXID_FROM_PGPROC(). */ -typedef struct +typedef struct VirtualTransactionId { ProcNumber procNumber; /* proc number of the PGPROC */ LocalTransactionId localTransactionId; /* lxid from PGPROC */ diff --git a/src/include/storage/predicate.h b/src/include/storage/predicate.h index 607d7d84596..a5ac55b8f7e 100644 --- a/src/include/storage/predicate.h +++ b/src/include/storage/predicate.h @@ -14,11 +14,16 @@ #ifndef PREDICATE_H #define PREDICATE_H +#include "access/transam.h" #include "storage/itemptr.h" -#include "storage/lock.h" #include "utils/relcache.h" #include "utils/snapshot.h" +/* + * forward references in this file + */ +typedef struct VirtualTransactionId VirtualTransactionId; + /* * GUC variables diff --git a/src/include/storage/procarray.h b/src/include/storage/procarray.h index c5ab1574fe3..abdf021e66e 100644 --- a/src/include/storage/procarray.h +++ b/src/include/storage/procarray.h @@ -14,7 +14,6 @@ #ifndef PROCARRAY_H #define PROCARRAY_H -#include "storage/lock.h" #include "storage/standby.h" #include "utils/relcache.h" #include "utils/snapshot.h" diff --git a/src/include/storage/sinvaladt.h b/src/include/storage/sinvaladt.h index a1694500a85..122dbcdf19f 100644 --- a/src/include/storage/sinvaladt.h +++ b/src/include/storage/sinvaladt.h @@ -22,7 +22,6 @@ #ifndef SINVALADT_H #define SINVALADT_H -#include "storage/lock.h" #include "storage/sinval.h" /* diff --git a/src/include/storage/standby.h b/src/include/storage/standby.h index c63a4f2cc6a..6a314c693cd 100644 --- a/src/include/storage/standby.h +++ b/src/include/storage/standby.h @@ -15,10 +15,13 @@ #define STANDBY_H #include "datatype/timestamp.h" -#include "storage/lock.h" +#include "storage/locktag.h" #include "storage/relfilelocator.h" #include "storage/standbydefs.h" +typedef struct PGPROC PGPROC; +typedef struct VirtualTransactionId VirtualTransactionId; + /* User-settable GUC parameters */ extern PGDLLIMPORT int max_standby_archive_delay; extern PGDLLIMPORT int max_standby_streaming_delay;