11#ifndef BRIN_INTERNAL_H
12#define BRIN_INTERNAL_H
41#define SizeofBrinOpcInfo(ncols) \
42 (offsetof(BrinOpcInfo, oi_typcache) + sizeof(TypeCacheEntry *) * ncols)
70#define BRIN_PROCNUM_OPCINFO 1
71#define BRIN_PROCNUM_ADDVALUE 2
72#define BRIN_PROCNUM_CONSISTENT 3
73#define BRIN_PROCNUM_UNION 4
74#define BRIN_MANDATORY_NPROCS 4
75#define BRIN_PROCNUM_OPTIONS 5
77#define BRIN_FIRST_OPTIONAL_PROCNUM 11
78#define BRIN_LAST_OPTIONAL_PROCNUM 15
83#define BRIN_elog(args) elog args
85#define BRIN_elog(args) ((void) 0)
103 ScanKey orderbys,
int norderbys);
108 void *callback_state);
static Datum values[MAXATTR]
bool brininsert(Relation idxRel, Datum *values, bool *nulls, ItemPointer heaptid, Relation heapRel, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo)
void brinrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, ScanKey orderbys, int norderbys)
IndexBuildResult * brinbuild(Relation heap, Relation index, struct IndexInfo *indexInfo)
bool brinvalidate(Oid opclassoid)
IndexBulkDeleteResult * brinbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)
IndexScanDesc brinbeginscan(Relation r, int nkeys, int norderbys)
bytea * brinoptions(Datum reloptions, bool validate)
int64 bringetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
void brinbuildempty(Relation index)
void brin_free_desc(BrinDesc *bdesc)
struct BrinOpcInfo BrinOpcInfo
IndexBulkDeleteResult * brinvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
void brininsertcleanup(Relation index, struct IndexInfo *indexInfo)
BrinDesc * brin_build_desc(Relation rel)
void brinendscan(IndexScanDesc scan)
#define FLEXIBLE_ARRAY_MEMBER
bool(* IndexBulkDeleteCallback)(ItemPointer itemptr, void *state)
BrinOpcInfo * bd_info[FLEXIBLE_ARRAY_MEMBER]
TypeCacheEntry * oi_typcache[FLEXIBLE_ARRAY_MEMBER]
static void callback(struct sockaddr *addr, struct sockaddr *mask, void *unused)