#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"
#include "catalog/namespace.h"
#include "pgstat.h"
#include "storage/lmgr.h"
+#include "storage/lock.h"
#include "utils/inval.h"
#include "utils/syscache.h"
#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"
#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"
#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"
#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"
#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"
#include "storage/lmgr.h"
#include "utils/builtins.h"
#include "utils/fmgroids.h"
+#include "utils/hsearch.h"
#include "utils/snapmgr.h"
#include "utils/syscache.h"
#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"
#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"
#include "commands/discard.h"
#include "commands/prepare.h"
#include "commands/sequence.h"
+#include "storage/lock.h"
#include "utils/guc.h"
#include "utils/portal.h"
#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"
*/
#include "postgres.h"
+#include <limits.h>
+
#include "access/sysattr.h"
#include "access/table.h"
#include "catalog/partition.h"
#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"
#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"
*/
#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"
#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"
#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"
#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"
#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
#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
#define NAMESPACE_H
#include "nodes/primnodes.h"
-#include "storage/lock.h"
+#include "storage/lockdefs.h"
#include "storage/procnumber.h"
#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
#ifndef TOASTING_H
#define TOASTING_H
-#include "storage/lock.h"
+#include "storage/lockdefs.h"
/*
* toasting.c prototypes
#include "nodes/parsenodes.h"
#include "parser/parse_node.h"
-#include "storage/lock.h"
+#include "storage/lockdefs.h"
#include "utils/relcache.h"
#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
#include "catalog/pg_type.h"
#include "parser/parse_node.h"
#include "storage/buf.h"
-#include "storage/lock.h"
#include "utils/relcache.h"
/*
#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"
#include "lib/stringinfo.h"
#include "storage/itemptr.h"
-#include "storage/lock.h"
+#include "storage/locktag.h"
#include "utils/rel.h"
* 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 */
#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
#ifndef PROCARRAY_H
#define PROCARRAY_H
-#include "storage/lock.h"
#include "storage/standby.h"
#include "utils/relcache.h"
#include "utils/snapshot.h"
#ifndef SINVALADT_H
#define SINVALADT_H
-#include "storage/lock.h"
#include "storage/sinval.h"
/*
#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;