/*
* AM - callable functions for BRIN indexes
*
* Portions Copyright ( c ) 1996 - 2025 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* IDENTIFICATION
* src / include / access / brin . h
*/
#ifndef BRIN_H
#define BRIN_H
#include "nodes/execnodes.h"
#include "storage/shm_toc.h"
#include "utils/relcache.h"
/*
* Storage type for BRIN ' s reloptions
*/
typedef struct BrinOptions
{
int32 vl_len_; /* varlena header (do not touch directly!) */
BlockNumber pagesPerRange;
bool autosummarize;
} BrinOptions;
/*
* BrinStatsData represents stats data for planner use
*/
typedef struct BrinStatsData
{
BlockNumber pagesPerRange;
BlockNumber revmapNumPages;
} BrinStatsData;
#define BRIN_DEFAULT_PAGES_PER_RANGE 128
#define BrinGetPagesPerRange(relation) \
(AssertMacro(relation->rd_rel->relkind == RELKIND_INDEX && \
relation->rd_rel->relam == BRIN_AM_OID), \
(relation)->rd_options ? \
((BrinOptions *) (relation)->rd_options)->pagesPerRange : \
BRIN_DEFAULT_PAGES_PER_RANGE)
#define BrinGetAutoSummarize(relation) \
(AssertMacro(relation->rd_rel->relkind == RELKIND_INDEX && \
relation->rd_rel->relam == BRIN_AM_OID), \
(relation)->rd_options ? \
((BrinOptions *) (relation)->rd_options)->autosummarize : \
false )
extern void brinGetStats(Relation index, BrinStatsData *stats);
extern void _brin_parallel_build_main(dsm_segment *seg, shm_toc *toc);
#endif /* BRIN_H */
Messung V0.5 in Prozent C=92 H=100 G=95
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-08-05)
¤
*© Formatika GbR, Deutschland