128 void *callback_state);
141 Cost *indexStartupCost,
142 Cost *indexTotalCost,
144 double *indexCorrelation,
161 bool *
res,
bool *isnull);
164 typedef char *(*ambuildphasename_function) (
int64 phasenum);
void(* amparallelrescan_function)(IndexScanDesc scan)
Size(* amestimateparallelscan_function)(int nkeys, int norderbys)
IndexScanDesc(* ambeginscan_function)(Relation indexRelation, int nkeys, int norderbys)
void(* amadjustmembers_function)(Oid opfamilyoid, Oid opclassoid, List *operators, List *functions)
int(* amgettreeheight_function)(Relation rel)
bool(* amproperty_function)(Oid index_oid, int attno, IndexAMProperty prop, const char *propname, bool *res, bool *isnull)
bool(* amvalidate_function)(Oid opclassoid)
void(* amendscan_function)(IndexScanDesc scan)
bool(* amcanreturn_function)(Relation indexRelation, int attno)
bool(* aminsert_function)(Relation indexRelation, Datum *values, bool *isnull, ItemPointer heap_tid, Relation heapRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo)
void(* ambuildempty_function)(Relation indexRelation)
IndexAmRoutine * GetIndexAmRoutineByAmId(Oid amoid, bool noerror)
IndexBulkDeleteResult *(* ambulkdelete_function)(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)
IndexAmRoutine * GetIndexAmRoutine(Oid amhandler)
int64(* amgetbitmap_function)(IndexScanDesc scan, TIDBitmap *tbm)
void(* amrestrpos_function)(IndexScanDesc scan)
IndexBulkDeleteResult *(* amvacuumcleanup_function)(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
void(* amcostestimate_function)(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
bool(* amgettuple_function)(IndexScanDesc scan, ScanDirection direction)
@ AMPROP_DISTANCE_ORDERABLE
bytea *(* amoptions_function)(Datum reloptions, bool validate)
void(* aminitparallelscan_function)(void *target)
void(* ammarkpos_function)(IndexScanDesc scan)
struct OpFamilyMember OpFamilyMember
IndexBuildResult *(* ambuild_function)(Relation heapRelation, Relation indexRelation, struct IndexInfo *indexInfo)
void(* aminsertcleanup_function)(Relation indexRelation, struct IndexInfo *indexInfo)
struct IndexAmRoutine IndexAmRoutine
char *(* ambuildphasename_function)(int64 phasenum)
void(* amrescan_function)(IndexScanDesc scan, ScanKey keys, int nkeys, ScanKey orderbys, int norderbys)
static Datum values[MAXATTR]
static void PGresult * res
bool(* IndexBulkDeleteCallback)(ItemPointer itemptr, void *state)
struct IndexScanDescData * IndexScanDesc
static const struct fns functions
ambuildphasename_function ambuildphasename
ambuildempty_function ambuildempty
amvacuumcleanup_function amvacuumcleanup
amoptions_function amoptions
amestimateparallelscan_function amestimateparallelscan
amrestrpos_function amrestrpos
aminsert_function aminsert
amendscan_function amendscan
amparallelrescan_function amparallelrescan
amcostestimate_function amcostestimate
amadjustmembers_function amadjustmembers
amgettuple_function amgettuple
amcanreturn_function amcanreturn
amgetbitmap_function amgetbitmap
amproperty_function amproperty
ambulkdelete_function ambulkdelete
amvalidate_function amvalidate
ammarkpos_function ammarkpos
bool amusemaintenanceworkmem
ambeginscan_function ambeginscan
amrescan_function amrescan
aminitparallelscan_function aminitparallelscan
uint8 amparallelvacuumoptions
aminsertcleanup_function aminsertcleanup
amgettreeheight_function amgettreeheight
static void callback(struct sockaddr *addr, struct sockaddr *mask, void *unused)