From 393c71301c2865ef25050cdb052f915d422117f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Herrera?= Date: Tue, 19 Nov 2024 23:15:50 +0100 Subject: [PATCH] Avoid including tableam.h and xlogreader.h into nbtree.h --- contrib/btree_gist/btree_bool.c | 1 + contrib/btree_gist/btree_cash.c | 1 + contrib/btree_gist/btree_date.c | 1 + contrib/btree_gist/btree_enum.c | 1 + contrib/btree_gist/btree_float4.c | 1 + contrib/btree_gist/btree_float8.c | 1 + contrib/btree_gist/btree_inet.c | 1 + contrib/btree_gist/btree_int2.c | 1 + contrib/btree_gist/btree_int4.c | 1 + contrib/btree_gist/btree_int8.c | 1 + contrib/btree_gist/btree_interval.c | 1 + contrib/btree_gist/btree_macaddr.c | 1 + contrib/btree_gist/btree_macaddr8.c | 1 + contrib/btree_gist/btree_oid.c | 1 + contrib/btree_gist/btree_time.c | 1 + contrib/btree_gist/btree_ts.c | 1 + contrib/btree_gist/btree_utils_var.c | 1 + contrib/btree_gist/btree_uuid.c | 1 + src/backend/access/nbtree/nbtdedup.c | 1 + src/backend/access/nbtree/nbtinsert.c | 1 + src/backend/access/nbtree/nbtpreprocesskeys.c | 2 ++ src/backend/access/nbtree/nbtsort.c | 1 + src/backend/access/nbtree/nbtsplitloc.c | 1 + src/backend/access/nbtree/nbtutils.c | 3 +++ src/backend/utils/sort/tuplesortvariants.c | 1 + src/include/access/nbtree.h | 6 +++--- 26 files changed, 31 insertions(+), 3 deletions(-) diff --git a/contrib/btree_gist/btree_bool.c b/contrib/btree_gist/btree_bool.c index 1127597bb601..8282055ebca6 100644 --- a/contrib/btree_gist/btree_bool.c +++ b/contrib/btree_gist/btree_bool.c @@ -6,6 +6,7 @@ #include "btree_gist.h" #include "btree_utils_num.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct boolkey { diff --git a/contrib/btree_gist/btree_cash.c b/contrib/btree_gist/btree_cash.c index 01c8d5a5f407..8228d2871e9d 100644 --- a/contrib/btree_gist/btree_cash.c +++ b/contrib/btree_gist/btree_cash.c @@ -8,6 +8,7 @@ #include "common/int.h" #include "utils/cash.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_date.c b/contrib/btree_gist/btree_date.c index c008dc61ba5f..da248a29aaa8 100644 --- a/contrib/btree_gist/btree_date.c +++ b/contrib/btree_gist/btree_date.c @@ -8,6 +8,7 @@ #include "utils/fmgrprotos.h" #include "utils/date.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_enum.c b/contrib/btree_gist/btree_enum.c index c54cf3c7bae8..898b20f0580a 100644 --- a/contrib/btree_gist/btree_enum.c +++ b/contrib/btree_gist/btree_enum.c @@ -9,6 +9,7 @@ #include "utils/fmgrprotos.h" #include "utils/fmgroids.h" #include "utils/sortsupport.h" +#include "utils/rel.h" /* enums are really Oids, so we just use the same structure */ diff --git a/contrib/btree_gist/btree_float4.c b/contrib/btree_gist/btree_float4.c index bec026a923a1..21eccf1a9abc 100644 --- a/contrib/btree_gist/btree_float4.c +++ b/contrib/btree_gist/btree_float4.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "utils/float.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct float4key { diff --git a/contrib/btree_gist/btree_float8.c b/contrib/btree_gist/btree_float8.c index 43e7cde2b695..8e7c78877e7e 100644 --- a/contrib/btree_gist/btree_float8.c +++ b/contrib/btree_gist/btree_float8.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "utils/float.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct float8key { diff --git a/contrib/btree_gist/btree_inet.c b/contrib/btree_gist/btree_inet.c index 8b23853bafbb..460ef6e4a7d0 100644 --- a/contrib/btree_gist/btree_inet.c +++ b/contrib/btree_gist/btree_inet.c @@ -8,6 +8,7 @@ #include "catalog/pg_type.h" #include "utils/builtins.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct inetkey { diff --git a/contrib/btree_gist/btree_int2.c b/contrib/btree_gist/btree_int2.c index 33eccdedd704..d9529f760a03 100644 --- a/contrib/btree_gist/btree_int2.c +++ b/contrib/btree_gist/btree_int2.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "common/int.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct int16key { diff --git a/contrib/btree_gist/btree_int4.c b/contrib/btree_gist/btree_int4.c index a82cee9a58a8..9e2e67a0c288 100644 --- a/contrib/btree_gist/btree_int4.c +++ b/contrib/btree_gist/btree_int4.c @@ -6,6 +6,7 @@ #include "btree_utils_num.h" #include "common/int.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct int32key { diff --git a/contrib/btree_gist/btree_int8.c b/contrib/btree_gist/btree_int8.c index f0c56e017269..ac710f96677f 100644 --- a/contrib/btree_gist/btree_int8.c +++ b/contrib/btree_gist/btree_int8.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "common/int.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct int64key { diff --git a/contrib/btree_gist/btree_interval.c b/contrib/btree_gist/btree_interval.c index b5e365c6e09b..61d25b102146 100644 --- a/contrib/btree_gist/btree_interval.c +++ b/contrib/btree_gist/btree_interval.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "utils/fmgrprotos.h" #include "utils/sortsupport.h" +#include "utils/rel.h" #include "utils/timestamp.h" typedef struct diff --git a/contrib/btree_gist/btree_macaddr.c b/contrib/btree_gist/btree_macaddr.c index 3b2f26719d5d..5fac3b66fda4 100644 --- a/contrib/btree_gist/btree_macaddr.c +++ b/contrib/btree_gist/btree_macaddr.c @@ -8,6 +8,7 @@ #include "utils/fmgrprotos.h" #include "utils/inet.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_macaddr8.c b/contrib/btree_gist/btree_macaddr8.c index f2b104617e68..dd49f377db5d 100644 --- a/contrib/btree_gist/btree_macaddr8.c +++ b/contrib/btree_gist/btree_macaddr8.c @@ -8,6 +8,7 @@ #include "utils/fmgrprotos.h" #include "utils/inet.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_oid.c b/contrib/btree_gist/btree_oid.c index ffe0d7983e40..41fb38728192 100644 --- a/contrib/btree_gist/btree_oid.c +++ b/contrib/btree_gist/btree_oid.c @@ -6,6 +6,7 @@ #include "btree_gist.h" #include "btree_utils_num.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_time.c b/contrib/btree_gist/btree_time.c index 1dba95057ba9..49c2cae522b7 100644 --- a/contrib/btree_gist/btree_time.c +++ b/contrib/btree_gist/btree_time.c @@ -8,6 +8,7 @@ #include "utils/fmgrprotos.h" #include "utils/date.h" #include "utils/sortsupport.h" +#include "utils/rel.h" #include "utils/timestamp.h" typedef struct diff --git a/contrib/btree_gist/btree_ts.c b/contrib/btree_gist/btree_ts.c index eb899c4d2136..7173124d5742 100644 --- a/contrib/btree_gist/btree_ts.c +++ b/contrib/btree_gist/btree_ts.c @@ -11,6 +11,7 @@ #include "utils/timestamp.h" #include "utils/float.h" #include "utils/sortsupport.h" +#include "utils/rel.h" typedef struct { diff --git a/contrib/btree_gist/btree_utils_var.c b/contrib/btree_gist/btree_utils_var.c index d9df2356cd1e..fb466e5aa32b 100644 --- a/contrib/btree_gist/btree_utils_var.c +++ b/contrib/btree_gist/btree_utils_var.c @@ -11,6 +11,7 @@ #include "btree_utils_var.h" #include "mb/pg_wchar.h" #include "utils/rel.h" +#include "varatt.h" /* used for key sorting */ typedef struct diff --git a/contrib/btree_gist/btree_uuid.c b/contrib/btree_gist/btree_uuid.c index 23a307a6a71d..873d77dd8f59 100644 --- a/contrib/btree_gist/btree_uuid.c +++ b/contrib/btree_gist/btree_uuid.c @@ -7,6 +7,7 @@ #include "btree_utils_num.h" #include "port/pg_bswap.h" #include "utils/sortsupport.h" +#include "utils/rel.h" #include "utils/uuid.h" typedef struct diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c index 08884116aecb..ab0b6946cb03 100644 --- a/src/backend/access/nbtree/nbtdedup.c +++ b/src/backend/access/nbtree/nbtdedup.c @@ -16,6 +16,7 @@ #include "access/nbtree.h" #include "access/nbtxlog.h" +#include "access/tableam.h" #include "access/xloginsert.h" #include "miscadmin.h" #include "utils/rel.h" diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index aa82cede30aa..be60781fc98e 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -17,6 +17,7 @@ #include "access/nbtree.h" #include "access/nbtxlog.h" +#include "access/tableam.h" #include "access/transam.h" #include "access/xloginsert.h" #include "common/int.h" diff --git a/src/backend/access/nbtree/nbtpreprocesskeys.c b/src/backend/access/nbtree/nbtpreprocesskeys.c index 21c519cd108e..936b93f157a8 100644 --- a/src/backend/access/nbtree/nbtpreprocesskeys.c +++ b/src/backend/access/nbtree/nbtpreprocesskeys.c @@ -16,11 +16,13 @@ #include "postgres.h" #include "access/nbtree.h" +#include "access/relscan.h" #include "common/int.h" #include "lib/qunique.h" #include "utils/array.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" typedef struct BTScanKeyPreproc { diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index 9d70e89c1f3c..8828a7a8f895 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -44,6 +44,7 @@ #include "access/parallel.h" #include "access/relscan.h" #include "access/table.h" +#include "access/tableam.h" #include "access/xact.h" #include "catalog/index.h" #include "commands/progress.h" diff --git a/src/backend/access/nbtree/nbtsplitloc.c b/src/backend/access/nbtree/nbtsplitloc.c index e6c9aaa0454d..b88c396195a4 100644 --- a/src/backend/access/nbtree/nbtsplitloc.c +++ b/src/backend/access/nbtree/nbtsplitloc.c @@ -15,6 +15,7 @@ #include "postgres.h" #include "access/nbtree.h" +#include "access/tableam.h" #include "common/int.h" typedef enum diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index 9aed207995f5..edfea2acaff6 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -19,10 +19,13 @@ #include "access/nbtree.h" #include "access/reloptions.h" +#include "access/relscan.h" #include "commands/progress.h" #include "miscadmin.h" #include "utils/datum.h" #include "utils/lsyscache.h" +#include "utils/rel.h" + #define LOOK_AHEAD_REQUIRED_RECHECKS 3 #define LOOK_AHEAD_DEFAULT_DISTANCE 5 diff --git a/src/backend/utils/sort/tuplesortvariants.c b/src/backend/utils/sort/tuplesortvariants.c index c5d18e46716f..890cdbe12041 100644 --- a/src/backend/utils/sort/tuplesortvariants.c +++ b/src/backend/utils/sort/tuplesortvariants.c @@ -31,6 +31,7 @@ #include "utils/datum.h" #include "utils/guc.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/tuplesort.h" diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index e709d2e0afe9..9ab467cb8fde 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -17,9 +17,8 @@ #include "access/amapi.h" #include "access/itup.h" #include "access/sdir.h" -#include "access/tableam.h" -#include "access/xlogreader.h" #include "catalog/pg_am_d.h" +#include "catalog/pg_class.h" #include "catalog/pg_index.h" #include "lib/stringinfo.h" #include "storage/bufmgr.h" @@ -1285,9 +1284,10 @@ extern void _bt_pageinit(Page page, Size size); extern void _bt_delitems_vacuum(Relation rel, Buffer buf, OffsetNumber *deletable, int ndeletable, BTVacuumPosting *updatable, int nupdatable); +struct TM_IndexDeleteOp; /* avoid including tableam.h here */ extern void _bt_delitems_delete_check(Relation rel, Buffer buf, Relation heapRel, - TM_IndexDeleteOp *delstate); + struct TM_IndexDeleteOp *delstate); extern void _bt_pagedel(Relation rel, Buffer leafbuf, BTVacState *vstate); extern void _bt_pendingfsm_init(Relation rel, BTVacState *vstate, bool cleanuponly);