18#include "utils/fmgrprotos.h"
155 attno =
key->sk_attno;
156 subtype =
key->sk_subtype;
158 switch (
key->sk_strategy)
195 elog(
ERROR,
"invalid strategy number %d",
key->sk_strategy);
235 attr->attbyval, attr->attlen);
248 attr->attbyval, attr->attlen);
266 Assert(strategynum >= 1 &&
300 elog(
ERROR,
"missing operator %d(%u,%u) in opfamily %u",
301 strategynum, attr->atttypid, subtype, opfamily);
304 Anum_pg_amop_amopopr));
#define SizeofBrinOpcInfo(ncols)
static FmgrInfo * minmax_get_strategy_procinfo(BrinDesc *bdesc, uint16 attno, Oid subtype, uint16 strategynum)
Datum brin_minmax_consistent(PG_FUNCTION_ARGS)
Datum brin_minmax_union(PG_FUNCTION_ARGS)
Datum brin_minmax_add_value(PG_FUNCTION_ARGS)
Datum brin_minmax_opcinfo(PG_FUNCTION_ARGS)
struct MinmaxOpaque MinmaxOpaque
#define RegProcedureIsValid(p)
#define PG_USED_FOR_ASSERTS_ONLY
Datum datumCopy(Datum value, bool typByVal, int typLen)
Datum FunctionCall2Coll(FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2)
void fmgr_info_cxt(Oid functionId, FmgrInfo *finfo, MemoryContext mcxt)
#define PG_GETARG_POINTER(n)
#define PG_GETARG_DATUM(n)
#define PG_RETURN_DATUM(x)
#define PG_RETURN_POINTER(x)
#define PG_GET_COLLATION()
#define PG_RETURN_BOOL(x)
Assert(PointerIsAligned(start, uint64))
#define HeapTupleIsValid(tuple)
if(TABLE==NULL||TABLE_index==NULL)
RegProcedure get_opcode(Oid opno)
void pfree(void *pointer)
void * palloc0(Size size)
FormData_pg_attribute * Form_pg_attribute
static bool DatumGetBool(Datum X)
static Oid DatumGetObjectId(Datum X)
static Datum Int16GetDatum(int16 X)
static Datum ObjectIdGetDatum(Oid X)
static Pointer DatumGetPointer(Datum X)
#define BTGreaterStrategyNumber
#define BTMaxStrategyNumber
#define BTLessStrategyNumber
#define BTEqualStrategyNumber
#define BTLessEqualStrategyNumber
#define BTGreaterEqualStrategyNumber
BrinOpcInfo * bd_info[FLEXIBLE_ARRAY_MEMBER]
TypeCacheEntry * oi_typcache[FLEXIBLE_ARRAY_MEMBER]
FmgrInfo strategy_procinfos[BTMaxStrategyNumber]
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache4(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4)
Datum SysCacheGetAttrNotNull(int cacheId, HeapTuple tup, AttrNumber attributeNumber)
static FormData_pg_attribute * TupleDescAttr(TupleDesc tupdesc, int i)
TypeCacheEntry * lookup_type_cache(Oid type_id, int flags)