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)
102 ScanKey orderbys,
int norderbys);
107 void *callback_state);
static Datum values[MAXATTR]
IndexBulkDeleteResult * brinvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
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)
bool brinvalidate(Oid opclassoid)
IndexScanDesc brinbeginscan(Relation r, int nkeys, int norderbys)
IndexBuildResult * brinbuild(Relation heap, Relation index, struct IndexInfo *indexInfo)
int64 bringetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
void brinbuildempty(Relation index)
void brin_free_desc(BrinDesc *bdesc)
BrinDesc * brin_build_desc(Relation rel)
struct BrinOpcInfo BrinOpcInfo
bytea * brinoptions(Datum reloptions, bool validate)
IndexBulkDeleteResult * brinbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)
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)