181 amoid = rd_rel->relam;
182 natts = rd_rel->relnatts;
242 && attno > rd_index->indnkeyatts)
const IndexAmRoutine * GetIndexAmRoutineByAmId(Oid amoid, bool noerror)
@ AMPROP_DISTANCE_ORDERABLE
static const struct am_propname am_propnames[]
static Datum indexam_property(FunctionCallInfo fcinfo, const char *propname, Oid amoid, Oid index_oid, int attno)
Datum pg_index_column_has_property(PG_FUNCTION_ARGS)
Datum pg_indexam_progress_phasename(PG_FUNCTION_ARGS)
Datum pg_index_has_property(PG_FUNCTION_ARGS)
Datum pg_indexam_has_property(PG_FUNCTION_ARGS)
static IndexAMProperty lookup_prop_name(const char *name)
static bool test_indoption(HeapTuple tuple, int attno, bool guard, int16 iopt_mask, int16 iopt_expect, bool *res)
#define CStringGetTextDatum(s)
#define Assert(condition)
#define OidIsValid(objectId)
#define PG_GETARG_TEXT_PP(n)
#define PG_GETARG_INT32(n)
#define PG_RETURN_DATUM(x)
#define PG_RETURN_BOOL(x)
#define HeapTupleIsValid(tuple)
static void * GETSTRUCT(const HeapTupleData *tuple)
void index_close(Relation relation, LOCKMODE lockmode)
bool index_can_return(Relation indexRelation, int attno)
Relation index_open(Oid relationId, LOCKMODE lockmode)
FormData_pg_class * Form_pg_class
FormData_pg_index * Form_pg_index
int pg_strcasecmp(const char *s1, const char *s2)
static Datum ObjectIdGetDatum(Oid X)
static Pointer DatumGetPointer(Datum X)
ambuildphasename_function ambuildphasename
amgettuple_function amgettuple
amcanreturn_function amcanreturn
amgetbitmap_function amgetbitmap
amproperty_function amproperty
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(int cacheId, Datum key1)
Datum SysCacheGetAttrNotNull(int cacheId, HeapTuple tup, AttrNumber attributeNumber)
char * text_to_cstring(const text *t)