From 918cc8b07eb19f74646949cc302d6ed67f1bc920 Mon Sep 17 00:00:00 2001 From: Arseniy Mukhin Date: Wed, 16 Apr 2025 11:26:45 +0300 Subject: [PATCH v2 1/2] brin refactoring --- src/backend/access/brin/brin_tuple.c | 2 +- src/backend/access/common/reloptions.c | 3 ++- src/include/access/brin.h | 1 + src/include/access/brin_tuple.h | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/access/brin/brin_tuple.c b/src/backend/access/brin/brin_tuple.c index 861f397e6db..4d1d8d9addd 100644 --- a/src/backend/access/brin/brin_tuple.c +++ b/src/backend/access/brin/brin_tuple.c @@ -57,7 +57,7 @@ static inline void brin_deconstruct_tuple(BrinDesc *brdesc, /* * Return a tuple descriptor used for on-disk storage of BRIN tuples. */ -static TupleDesc +TupleDesc brtuple_disk_tupdesc(BrinDesc *brdesc) { /* We cache these in the BrinDesc */ diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c index 50747c16396..bc494847341 100644 --- a/src/backend/access/common/reloptions.c +++ b/src/backend/access/common/reloptions.c @@ -22,6 +22,7 @@ #include "access/heaptoast.h" #include "access/htup_details.h" #include "access/nbtree.h" +#include "access/brin.h" #include "access/reloptions.h" #include "access/spgist_private.h" #include "catalog/pg_type.h" @@ -343,7 +344,7 @@ static relopt_int intRelOpts[] = "Number of pages that each page range covers in a BRIN index", RELOPT_KIND_BRIN, AccessExclusiveLock - }, 128, 1, 131072 + }, 128, 1, BRIN_MAX_PAGES_PER_RANGE }, { { diff --git a/src/include/access/brin.h b/src/include/access/brin.h index 821f1e02806..334ce973b67 100644 --- a/src/include/access/brin.h +++ b/src/include/access/brin.h @@ -37,6 +37,7 @@ typedef struct BrinStatsData #define BRIN_DEFAULT_PAGES_PER_RANGE 128 +#define BRIN_MAX_PAGES_PER_RANGE 131072 #define BrinGetPagesPerRange(relation) \ (AssertMacro(relation->rd_rel->relkind == RELKIND_INDEX && \ relation->rd_rel->relam == BRIN_AM_OID), \ diff --git a/src/include/access/brin_tuple.h b/src/include/access/brin_tuple.h index 010ba4ea3c0..9472ca638dd 100644 --- a/src/include/access/brin_tuple.h +++ b/src/include/access/brin_tuple.h @@ -109,4 +109,6 @@ extern BrinMemTuple *brin_memtuple_initialize(BrinMemTuple *dtuple, extern BrinMemTuple *brin_deform_tuple(BrinDesc *brdesc, BrinTuple *tuple, BrinMemTuple *dMemtuple); +extern TupleDesc brtuple_disk_tupdesc(BrinDesc *brdesc); + #endif /* BRIN_TUPLE_H */ -- 2.43.0