46 #define INCLUSION_MAX_PROCNUMS 4 47 #define PROCNUM_MERGE 11 48 #define PROCNUM_MERGEABLE 12 49 #define PROCNUM_CONTAINS 13 50 #define PROCNUM_EMPTY 14 57 #define PROCNUM_BASE 11 71 #define INCLUSION_UNION 0 72 #define INCLUSION_UNMERGEABLE 1 73 #define INCLUSION_CONTAINS_EMPTY 2 173 datumCopy(newval, attr->attbyval, attr->attlen);
536 attr->attbyval, attr->attlen);
654 Assert(strategynum >= 1 &&
689 elog(
ERROR,
"missing operator %d(%u,%u) in opfamily %u",
690 strategynum, attr->atttypid, subtype, opfamily);
693 Anum_pg_amop_amopopr, &isNull));
#define PG_RETURN_POINTER(x)
Datum brin_inclusion_opcinfo(PG_FUNCTION_ARGS)
FmgrInfo extra_procinfos[INCLUSION_MAX_PROCNUMS]
Datum brin_inclusion_add_value(PG_FUNCTION_ARGS)
FmgrInfo * index_getprocinfo(Relation irel, AttrNumber attnum, uint16 procnum)
bool extra_proc_missing[INCLUSION_MAX_PROCNUMS]
#define RTOldContainsStrategyNumber
#define RTSuperStrategyNumber
#define RTOldContainedByStrategyNumber
#define RTLeftStrategyNumber
struct InclusionOpaque InclusionOpaque
#define INCLUSION_UNMERGEABLE
#define PG_GETARG_DATUM(n)
#define TupleDescAttr(tupdesc, i)
#define DatumGetObjectId(X)
#define SizeofBrinOpcInfo(ncols)
FmgrInfo strategy_procinfos[RTMaxStrategyNumber]
#define RTOverBelowStrategyNumber
#define RTContainedByStrategyNumber
#define PG_GETARG_POINTER(n)
#define RTLessStrategyNumber
#define PG_GETARG_BOOL(n)
Datum FunctionCall2Coll(FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2)
Datum brin_inclusion_union(PG_FUNCTION_ARGS)
#define RTBelowStrategyNumber
#define PG_GET_COLLATION()
static FmgrInfo * inclusion_get_procinfo(BrinDesc *bdesc, uint16 attno, uint16 procnum)
#define RTOverAboveStrategyNumber
void pfree(void *pointer)
#define ObjectIdGetDatum(X)
TypeCacheEntry * oi_typcache[FLEXIBLE_ARRAY_MEMBER]
static FmgrInfo * inclusion_get_strategy_procinfo(BrinDesc *bdesc, uint16 attno, Oid subtype, uint16 strategynum)
StrategyNumber sk_strategy
void fmgr_info_copy(FmgrInfo *dstinfo, FmgrInfo *srcinfo, MemoryContext destcxt)
#define RTGreaterStrategyNumber
#define RTLessEqualStrategyNumber
#define RegProcedureIsValid(p)
#define RTSameStrategyNumber
FormData_pg_attribute * Form_pg_attribute
Datum brin_inclusion_consistent(PG_FUNCTION_ARGS)
HeapTuple SearchSysCache4(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4)
void fmgr_info_cxt(Oid functionId, FmgrInfo *finfo, MemoryContext mcxt)
#define RTOverRightStrategyNumber
Datum datumCopy(Datum value, bool typByVal, int typLen)
#define RTMaxStrategyNumber
#define RTOverLeftStrategyNumber
void * palloc0(Size size)
#define PG_RETURN_BOOL(x)
void ReleaseSysCache(HeapTuple tuple)
#define RTSubStrategyNumber
#define PG_RETURN_DATUM(x)
Datum FunctionCall1Coll(FmgrInfo *flinfo, Oid collation, Datum arg1)
Datum SysCacheGetAttr(int cacheId, HeapTuple tup, AttrNumber attributeNumber, bool *isNull)
#define INCLUSION_CONTAINS_EMPTY
BrinOpcInfo * bd_info[FLEXIBLE_ARRAY_MEMBER]
TypeCacheEntry * lookup_type_cache(Oid type_id, int flags)
RegProcedure get_opcode(Oid opno)
#define RTAboveStrategyNumber
#define HeapTupleIsValid(tuple)
#define Assert(condition)
#define INCLUSION_MAX_PROCNUMS
#define RTEqualStrategyNumber
#define RTRightStrategyNumber
#define RTContainsStrategyNumber
#define DatumGetPointer(X)
#define RTSuperEqualStrategyNumber
#define RTAdjacentStrategyNumber
#define RTContainsElemStrategyNumber
#define RTSubEqualStrategyNumber
#define RTOverlapStrategyNumber
#define PROCNUM_MERGEABLE
#define RTGreaterEqualStrategyNumber
RegProcedure index_getprocid(Relation irel, AttrNumber attnum, uint16 procnum)