|
typedef enum IndexAMProperty | IndexAMProperty |
|
typedef struct OpFamilyMember | OpFamilyMember |
|
typedef IndexBuildResult *(* | ambuild_function) (Relation heapRelation, Relation indexRelation, struct IndexInfo *indexInfo) |
|
typedef void(* | ambuildempty_function) (Relation indexRelation) |
|
typedef bool(* | aminsert_function) (Relation indexRelation, Datum *values, bool *isnull, ItemPointer heap_tid, Relation heapRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo) |
|
typedef void(* | aminsertcleanup_function) (Relation indexRelation, struct IndexInfo *indexInfo) |
|
typedef IndexBulkDeleteResult *(* | ambulkdelete_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state) |
|
typedef IndexBulkDeleteResult *(* | amvacuumcleanup_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats) |
|
typedef bool(* | amcanreturn_function) (Relation indexRelation, int attno) |
|
typedef void(* | amcostestimate_function) (struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages) |
|
typedef int(* | amgettreeheight_function) (Relation rel) |
|
typedef bytea *(* | amoptions_function) (Datum reloptions, bool validate) |
|
typedef bool(* | amproperty_function) (Oid index_oid, int attno, IndexAMProperty prop, const char *propname, bool *res, bool *isnull) |
|
typedef char *(* | ambuildphasename_function) (int64 phasenum) |
|
typedef bool(* | amvalidate_function) (Oid opclassoid) |
|
typedef void(* | amadjustmembers_function) (Oid opfamilyoid, Oid opclassoid, List *operators, List *functions) |
|
typedef IndexScanDesc(* | ambeginscan_function) (Relation indexRelation, int nkeys, int norderbys) |
|
typedef void(* | amrescan_function) (IndexScanDesc scan, ScanKey keys, int nkeys, ScanKey orderbys, int norderbys) |
|
typedef bool(* | amgettuple_function) (IndexScanDesc scan, ScanDirection direction) |
|
typedef int64(* | amgetbitmap_function) (IndexScanDesc scan, TIDBitmap *tbm) |
|
typedef void(* | amendscan_function) (IndexScanDesc scan) |
|
typedef void(* | ammarkpos_function) (IndexScanDesc scan) |
|
typedef void(* | amrestrpos_function) (IndexScanDesc scan) |
|
typedef Size(* | amestimateparallelscan_function) (int nkeys, int norderbys) |
|
typedef void(* | aminitparallelscan_function) (void *target) |
|
typedef void(* | amparallelrescan_function) (IndexScanDesc scan) |
|
typedef struct IndexAmRoutine | IndexAmRoutine |
|
Definition at line 56 of file amapi.c.
68 elog(
ERROR,
"cache lookup failed for access method %u",
74 if (amform->amtype != AMTYPE_INDEX)
82 (
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
83 errmsg(
"access method \"%s\" is not of type %s",
84 NameStr(amform->amname),
"INDEX")));
87 amhandler = amform->amhandler;
98 (
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
99 errmsg(
"index access method \"%s\" does not have a handler",
IndexAmRoutine * GetIndexAmRoutine(Oid amhandler)
#define RegProcedureIsValid(p)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define HeapTupleIsValid(tuple)
FormData_pg_am * Form_pg_am
static Datum ObjectIdGetDatum(Oid X)
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(int cacheId, Datum key1)
References elog, ereport, errcode(), errmsg(), ERROR, GetIndexAmRoutine(), GETSTRUCT, HeapTupleIsValid, NameStr, ObjectIdGetDatum(), RegProcedureIsValid, ReleaseSysCache(), and SearchSysCache1().
Referenced by AlterOpFamily(), AlterOpFamilyAdd(), amvalidate(), assignOperTypes(), ConstructTupleDescriptor(), DefineOpClass(), indexam_property(), IndexSupportsBackwardScan(), IsIndexUsableForReplicaIdentityFull(), and pg_indexam_progress_phasename().