#include "access/htup_details.h"
#include "access/reloptions.h"
#include "catalog/pg_am.h"
-#include "catalog/pg_amop.h"
#include "catalog/pg_type.h"
#include "common/hashfn.h"
#include "utils/fmgrprotos.h"
#include "access/xloginsert.h"
#include "commands/vacuum.h"
#include "miscadmin.h"
-#include "postmaster/autovacuum.h"
#include "storage/indexfsm.h"
#include "storage/lmgr.h"
#include "storage/predicate.h"
#include "access/genam.h"
#include "access/heapam.h"
-#include "access/heapam_xlog.h"
#include "access/htup_details.h"
#include "access/multixact.h"
#include "access/tidstore.h"
#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "utils/lsyscache.h"
-#include "utils/memutils.h"
#include "utils/pg_rusage.h"
#include "utils/timestamp.h"
#include "access/nbtree.h"
#include "access/relscan.h"
-#include "access/xloginsert.h"
#include "commands/progress.h"
#include "commands/vacuum.h"
-#include "miscadmin.h"
#include "nodes/execnodes.h"
#include "pgstat.h"
#include "storage/bulk_write.h"
#include "storage/indexfsm.h"
#include "storage/ipc.h"
#include "storage/lmgr.h"
-#include "storage/smgr.h"
#include "utils/fmgrprotos.h"
#include "utils/index_selfuncs.h"
#include "utils/memutils.h"
#include "access/relscan.h"
#include "access/table.h"
#include "access/xact.h"
-#include "access/xloginsert.h"
#include "catalog/index.h"
#include "commands/progress.h"
#include "executor/instrument.h"
#include "access/relation.h"
#include "access/sequence.h"
-#include "storage/lmgr.h"
+#include "utils/rel.h"
static inline void validate_relation_kind(Relation r);
#include "pgstat.h"
#include "storage/fd.h"
#include "storage/shmem.h"
-#include "utils/guc_hooks.h"
+#include "utils/guc.h"
/*
* Converts segment number to the filename of the segment.
#include "pg_trace.h"
#include "pgstat.h"
#include "port/atomics.h"
-#include "port/pg_iovec.h"
#include "postmaster/bgwriter.h"
#include "postmaster/startup.h"
#include "postmaster/walsummarizer.h"
#include "utils/guc_hooks.h"
#include "utils/guc_tables.h"
#include "utils/injection_point.h"
-#include "utils/memutils.h"
#include "utils/ps_status.h"
#include "utils/relmapper.h"
#include "utils/snapmgr.h"
#include "access/xlog.h"
#include "access/xlogrecovery.h"
#include "access/xlogwait.h"
-#include "funcapi.h"
#include "miscadmin.h"
#include "storage/latch.h"
#include "storage/proc.h"
#include "utils/fmgrprotos.h"
#include "utils/pg_lsn.h"
#include "utils/snapmgr.h"
-#include "utils/wait_event_types.h"
static int waitlsn_cmp(const pairingheap_node *a, const pairingheap_node *b,
void *arg);
#include "nodes/pg_list.h"
#include "pgstat.h"
#include "pgtar.h"
-#include "port.h"
#include "postmaster/syslogger.h"
#include "postmaster/walsummarizer.h"
#include "replication/slot.h"
#include "common/hashfn.h"
#include "common/int.h"
#include "common/parse_manifest.h"
-#include "datatype/timestamp.h"
#include "postmaster/walsummarizer.h"
-#include "utils/timestamp.h"
#define BLOCKS_PER_READ 512
#include "miscadmin.h"
#include "utils/fmgroids.h"
#include "utils/lsyscache.h"
-#include "utils/syscache.h"
#include "utils/rel.h"
#include "parser/parse_oper.h"
#include "parser/parse_relation.h"
#include "pgstat.h"
-#include "postmaster/autovacuum.h"
#include "statistics/extended_stats_internal.h"
#include "statistics/statistics.h"
#include "storage/bufmgr.h"
#include "utils/pg_rusage.h"
#include "utils/sampling.h"
#include "utils/sortsupport.h"
-#include "utils/spccache.h"
#include "utils/syscache.h"
#include "utils/timestamp.h"
#include "catalog/namespace.h"
#include "catalog/objectaccess.h"
#include "catalog/pg_am.h"
-#include "catalog/pg_database.h"
#include "catalog/pg_inherits.h"
#include "catalog/toasting.h"
#include "commands/cluster.h"
#include "libpq/pqformat.h"
#include "mb/pg_wchar.h"
#include "miscadmin.h"
-#include "nodes/miscnodes.h"
#include "pgstat.h"
#include "port/pg_bswap.h"
#include "utils/builtins.h"
#include "commands/prepare.h"
#include "commands/tablecmds.h"
#include "commands/view.h"
-#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "rewrite/rewriteHandler.h"
#include "tcop/tcopprot.h"
#include "utils/builtins.h"
#include "utils/lsyscache.h"
-#include "utils/rel.h"
#include "utils/rls.h"
#include "utils/snapmgr.h"
#include "storage/lmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
-#include "storage/sinvaladt.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "access/tableam.h"
#include "access/transam.h"
#include "access/xact.h"
-#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_database.h"
#include "catalog/pg_inherits.h"
#include "pgstat.h"
#include "storage/bufmgr.h"
#include "utils/rel.h"
-#include "utils/snapmgr.h"
#include "utils/spccache.h"
static TupleTableSlot *BitmapHeapNext(BitmapHeapScanState *node);
#include "executor/nodeHash.h"
#include "executor/nodeHashjoin.h"
#include "miscadmin.h"
-#include "port/atomics.h"
#include "port/pg_bitutils.h"
#include "utils/dynahash.h"
#include "utils/lsyscache.h"
#include "postgres.h"
#include "lib/integerset.h"
-#include "port/pg_bitutils.h"
#include "utils/memutils.h"
#include "libpq/auth.h"
#include "libpq/be-gssapi-common.h"
#include "libpq/libpq.h"
-#include "libpq/pqformat.h"
#include "miscadmin.h"
#include "pgstat.h"
+#include "port/pg_bswap.h"
#include "utils/injection_point.h"
#include "utils/memutils.h"
#include "pgstat.h"
#include "storage/fd.h"
#include "storage/latch.h"
-#include "tcop/tcopprot.h"
-#include "utils/builtins.h"
+#include "utils/guc.h"
#include "utils/memutils.h"
/*
#include "bootstrap/bootstrap.h"
#include "common/username.h"
-#include "port/atomics.h"
#include "postmaster/postmaster.h"
#include "tcop/tcopprot.h"
#include "utils/help_config.h"
#include <ctype.h>
#include <limits.h>
-#include "access/tableam.h"
#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_am.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/parser.h"
-#include "storage/lmgr.h"
-#include "utils/date.h"
#include "utils/datetime.h"
-#include "utils/numeric.h"
#include "utils/xml.h"
#include "parser/parse_target.h"
#include "parser/parse_type.h"
#include "parser/parser.h"
-#include "parser/parsetree.h"
#include "rewrite/rewriteManip.h"
#include "utils/builtins.h"
#include "utils/catcache.h"
-#include "utils/guc.h"
#include "utils/lsyscache.h"
#include "utils/rel.h"
#include "utils/syscache.h"
#include "postgres.h"
#include "catalog/pg_aggregate.h"
-#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "commands/dbcommands.h"
#include "miscadmin.h"
#include "utils/builtins.h"
#include "utils/date.h"
#include "utils/fmgroids.h"
-#include "utils/jsonb.h"
#include "utils/lsyscache.h"
#include "utils/timestamp.h"
#include "utils/xml.h"
#include "postgres.h"
-#include "catalog/pg_collation.h"
#include "catalog/pg_type.h"
-#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "optimizer/optimizer.h"
#include "parser/parse_expr.h"
#include "parser/parse_relation.h"
#include "parser/parse_type.h"
-#include "utils/builtins.h"
+#include "utils/fmgrprotos.h"
#include "utils/json.h"
#include "utils/lsyscache.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/auxprocess.h"
-#include "postmaster/bgwriter.h"
-#include "postmaster/startup.h"
-#include "postmaster/walsummarizer.h"
-#include "postmaster/walwriter.h"
-#include "replication/walreceiver.h"
#include "storage/condition_variable.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include <unistd.h>
-#include "access/xlog.h"
-#include "common/file_utils.h"
#include "libpq/libpq-be.h"
-#include "libpq/pqsignal.h"
#include "miscadmin.h"
-#include "nodes/queryjumble.h"
-#include "port.h"
#include "postmaster/autovacuum.h"
-#include "postmaster/auxprocess.h"
#include "postmaster/bgworker_internals.h"
#include "postmaster/bgwriter.h"
#include "postmaster/fork_process.h"
#include "replication/slotsync.h"
#include "replication/walreceiver.h"
#include "storage/dsm.h"
-#include "storage/fd.h"
-#include "storage/ipc.h"
#include "storage/pg_shmem.h"
-#include "storage/pmsignal.h"
-#include "storage/proc.h"
-#include "storage/procsignal.h"
#include "tcop/backend_startup.h"
-#include "tcop/tcopprot.h"
-#include "utils/builtins.h"
-#include "utils/datetime.h"
-#include "utils/guc.h"
-#include "utils/injection_point.h"
#include "utils/memutils.h"
-#include "utils/timestamp.h"
#ifdef EXEC_BACKEND
#include "nodes/queryjumble.h"
#ifdef EXEC_BACKEND
+#include "common/file_utils.h"
+#include "storage/fd.h"
+#include "storage/lwlock.h"
+#include "storage/pmsignal.h"
+#include "storage/proc.h"
+#include "storage/procsignal.h"
+#include "tcop/tcopprot.h"
+#include "utils/injection_point.h"
+
/* Type for a socket that can be inherited to a client process */
#ifdef WIN32
typedef struct
#include "access/xlog.h"
#include "access/xlogrecovery.h"
#include "common/file_perm.h"
-#include "common/file_utils.h"
-#include "common/ip.h"
#include "common/pg_prng.h"
#include "lib/ilist.h"
#include "libpq/libpq.h"
#include "pgstat.h"
#include "port/pg_bswap.h"
#include "postmaster/autovacuum.h"
-#include "postmaster/auxprocess.h"
#include "postmaster/bgworker_internals.h"
#include "postmaster/pgarch.h"
#include "postmaster/postmaster.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "storage/pmsignal.h"
-#include "storage/proc.h"
#include "tcop/backend_startup.h"
#include "tcop/tcopprot.h"
#include "utils/datetime.h"
#include "utils/varlena.h"
#ifdef EXEC_BACKEND
+#include "common/file_utils.h"
#include "storage/pg_shmem.h"
#endif
#include "storage/bufmgr.h"
#include "storage/condition_variable.h"
#include "storage/fd.h"
-#include "storage/ipc.h"
#include "storage/lwlock.h"
#include "storage/proc.h"
#include "storage/procsignal.h"
#include "storage/smgr.h"
-#include "utils/guc.h"
#include "utils/hsearch.h"
#include "utils/memutils.h"
#include "utils/resowner.h"
#include "commands/dbcommands.h"
#include "libpq/pqsignal.h"
#include "pgstat.h"
-#include "postmaster/fork_process.h"
#include "postmaster/interrupt.h"
-#include "postmaster/postmaster.h"
#include "replication/logical.h"
#include "replication/slotsync.h"
#include "replication/snapbuild.h"
#include "access/xlogrecovery.h"
#include "access/xlogutils.h"
#include "funcapi.h"
-#include "miscadmin.h"
-#include "replication/decode.h"
#include "replication/logical.h"
#include "replication/slot.h"
#include "replication/slotsync.h"
#include "utils/builtins.h"
#include "utils/guc.h"
-#include "utils/inval.h"
#include "utils/pg_lsn.h"
-#include "utils/resowner.h"
/*
* Helper function for creating a new physical replication slot with
*/
#include "postgres.h"
-#include "catalog/pg_tablespace.h"
#include "miscadmin.h"
#include "storage/fd.h"
#include "storage/smgr.h"
#include "storage/buf_internals.h"
#include "storage/bufmgr.h"
-#include "storage/proc.h"
BufferDescPadded *BufferDescriptors;
char *BufferBlocks;
#include "common/pg_prng.h"
#include "miscadmin.h"
#include "pgstat.h"
-#include "portability/mem.h"
#include "postmaster/startup.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "postmaster/autovacuum.h"
#include "postmaster/bgworker_internals.h"
#include "postmaster/bgwriter.h"
-#include "postmaster/postmaster.h"
#include "postmaster/walsummarizer.h"
#include "replication/logicallauncher.h"
#include "replication/origin.h"
#include "storage/procarray.h"
#include "storage/procsignal.h"
#include "storage/sinvaladt.h"
-#include "storage/spin.h"
#include "utils/guc.h"
#include "utils/injection_point.h"
#include <signal.h>
#include <unistd.h>
-#include "access/transam.h"
#include "miscadmin.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include "storage/lmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
-#include "storage/sinvaladt.h"
#include "utils/inval.h"
#include "pg_trace.h"
#include "storage/proc.h"
#include "storage/procarray.h"
-#include "storage/sinvaladt.h"
#include "storage/spin.h"
#include "storage/standby.h"
#include "utils/memutils.h"
#include <unistd.h>
#include "common/pg_prng.h"
-#include "port/atomics.h"
#include "storage/s_lock.h"
#include "utils/wait_event.h"
* external programs can incorporate the checksum code by #include'ing
* that file from the exported Postgres headers. (Compare our CRC code.)
*/
-#include "storage/checksum_impl.h"
+#include "storage/checksum_impl.h" /* IWYU pragma: keep */
#include "access/xloginsert.h"
#include "access/xlogrecord.h"
-#include "storage/bufmgr.h"
#include "storage/bufpage.h"
#include "storage/bulk_write.h"
#include "storage/proc.h"
#include "libpq/protocol.h"
#include "mb/pg_wchar.h"
#include "miscadmin.h"
-#include "port/pg_bswap.h"
#include "tcop/fastpath.h"
#include "tcop/tcopprot.h"
#include "utils/acl.h"
#include "pg_getopt.h"
#include "pg_trace.h"
#include "pgstat.h"
-#include "postmaster/autovacuum.h"
#include "postmaster/interrupt.h"
#include "postmaster/postmaster.h"
#include "replication/logicallauncher.h"
#include "postgres.h"
-#include "access/transam.h"
#include "utils/fmgrtab.h"
#include "utils/fmgrprotos.h"
#include "access/parallel.h"
#include "libpq/pqformat.h"
-#include "port/atomics.h" /* for memory barriers */
#include "utils/backend_progress.h"
#include "utils/backend_status.h"
#include "miscadmin.h"
#include "pg_trace.h"
#include "pgstat.h"
-#include "port/atomics.h" /* for memory barriers */
#include "storage/ipc.h"
#include "storage/proc.h" /* for MyProc */
#include "storage/procarray.h"
-#include "storage/sinvaladt.h"
#include "utils/ascii.h"
#include "utils/guc.h" /* for application_name */
#include "utils/memutils.h"
#include "access/xlog.h"
#include "lib/dshash.h"
#include "pgstat.h"
-#include "port/atomics.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "storage/lwlock.h"
#include "access/twophase_rmgr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
-#include "postmaster/autovacuum.h"
#include "utils/memutils.h"
#include "utils/pgstat_internal.h"
#include "utils/rel.h"
*/
#include "postgres.h"
-#include "port/pg_bitutils.h"
#include "storage/lmgr.h" /* for GetLockNameFromTagType */
#include "storage/lwlock.h" /* for GetLWLockIdentifier */
#include "storage/spin.h"
#include "utils/float.h"
#include "utils/fmgrprotos.h"
#include "utils/sortsupport.h"
-#include "utils/timestamp.h"
/*
#include "catalog/pg_collation.h"
#include "catalog/pg_type.h"
-#include "executor/execExpr.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "nodes/miscnodes.h"
#include "utils/formatting.h"
#include "utils/json.h"
#include "utils/jsonpath.h"
-#include "utils/lsyscache.h"
#include "utils/memutils.h"
#include "utils/timestamp.h"
#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "utils/pg_lsn.h"
-#include "utils/syscache.h"
#define CHECK_IS_BINARY_UPGRADE \
#include "storage/proc.h"
#include "storage/procarray.h"
#include "utils/array.h"
-#include "utils/builtins.h"
+#include "utils/fmgrprotos.h"
#include "utils/wait_event.h"
#define UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32 *)&(var))))
#include "postgres.h"
#include "port/pg_crc32c.h"
-#include "utils/builtins.h"
+#include "utils/fmgrprotos.h"
#include "utils/pg_crc.h"
#include "varatt.h"
*/
#include "postgres.h"
+#include "utils/injection_point.h"
+
+#ifdef USE_INJECTION_POINTS
+
#include <sys/stat.h>
#include "fmgr.h"
#include "storage/lwlock.h"
#include "storage/shmem.h"
#include "utils/hsearch.h"
-#include "utils/injection_point.h"
#include "utils/memutils.h"
-#ifdef USE_INJECTION_POINTS
-
/* Field sizes */
#define INJ_NAME_MAXLEN 64
#define INJ_LIB_MAXLEN 128
#include "common/config_info.h"
#include "funcapi.h"
#include "miscadmin.h"
-#include "port.h"
#include "utils/builtins.h"
Datum