PostgreSQL Source Code git master
|
Go to the source code of this file.
Data Structures | |
struct | OpFamilyMember |
struct | IndexAmRoutine |
Typedefs | |
typedef enum IndexAMProperty | IndexAMProperty |
typedef struct OpFamilyMember | OpFamilyMember |
typedef CompareType(* | amtranslate_strategy_function) (StrategyNumber strategy, Oid opfamily) |
typedef StrategyNumber(* | amtranslate_cmptype_function) (CompareType cmptype, Oid opfamily) |
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) (Relation indexRelation, int nkeys, int norderbys) |
typedef void(* | aminitparallelscan_function) (void *target) |
typedef void(* | amparallelrescan_function) (IndexScanDesc scan) |
typedef struct IndexAmRoutine | IndexAmRoutine |
Functions | |
IndexAmRoutine * | GetIndexAmRoutine (Oid amhandler) |
IndexAmRoutine * | GetIndexAmRoutineByAmId (Oid amoid, bool noerror) |
CompareType | IndexAmTranslateStrategy (StrategyNumber strategy, Oid amoid, Oid opfamily, bool missing_ok) |
StrategyNumber | IndexAmTranslateCompareType (CompareType cmptype, Oid amoid, Oid opfamily, bool missing_ok) |
typedef IndexScanDesc(* ambeginscan_function) (Relation indexRelation, int nkeys, int norderbys) |
typedef IndexBuildResult *(* ambuild_function) (Relation heapRelation, Relation indexRelation, struct IndexInfo *indexInfo) |
typedef void(* ambuildempty_function) (Relation indexRelation) |
typedef char *(* ambuildphasename_function) (int64 phasenum) |
typedef IndexBulkDeleteResult *(* ambulkdelete_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state) |
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 void(* amendscan_function) (IndexScanDesc scan) |
typedef int64(* amgetbitmap_function) (IndexScanDesc scan, TIDBitmap *tbm) |
typedef bool(* amgettuple_function) (IndexScanDesc scan, ScanDirection direction) |
typedef bool(* aminsert_function) (Relation indexRelation, Datum *values, bool *isnull, ItemPointer heap_tid, Relation heapRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo) |
typedef void(* ammarkpos_function) (IndexScanDesc scan) |
typedef void(* amparallelrescan_function) (IndexScanDesc scan) |
typedef bool(* amproperty_function) (Oid index_oid, int attno, IndexAMProperty prop, const char *propname, bool *res, bool *isnull) |
typedef void(* amrescan_function) (IndexScanDesc scan, ScanKey keys, int nkeys, ScanKey orderbys, int norderbys) |
typedef void(* amrestrpos_function) (IndexScanDesc scan) |
typedef StrategyNumber(* amtranslate_cmptype_function) (CompareType cmptype, Oid opfamily) |
typedef CompareType(* amtranslate_strategy_function) (StrategyNumber strategy, Oid opfamily) |
typedef IndexBulkDeleteResult *(* amvacuumcleanup_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats) |
typedef enum IndexAMProperty IndexAMProperty |
typedef struct IndexAmRoutine IndexAmRoutine |
typedef struct OpFamilyMember OpFamilyMember |
enum IndexAMProperty |
IndexAmRoutine * GetIndexAmRoutine | ( | Oid | amhandler | ) |
Definition at line 33 of file amapi.c.
References DatumGetPointer(), elog, ERROR, IsA, and OidFunctionCall0.
Referenced by CheckIndexCompatible(), DefineIndex(), GetIndexAmRoutineByAmId(), InitIndexAmRoutine(), and pg_get_indexdef_worker().
IndexAmRoutine * GetIndexAmRoutineByAmId | ( | Oid | amoid, |
bool | noerror | ||
) |
Definition at line 56 of file amapi.c.
References elog, ereport, errcode(), errmsg(), ERROR, GetIndexAmRoutine(), GETSTRUCT(), HeapTupleIsValid, NameStr, ObjectIdGetDatum(), RegProcedureIsValid, ReleaseSysCache(), and SearchSysCache1().
Referenced by AlterOpFamily(), AlterOpFamilyAdd(), amvalidate(), assignOperTypes(), assignProcTypes(), comparison_ops_are_compatible(), ConstructTupleDescriptor(), DefineOpClass(), equality_ops_are_compatible(), get_op_index_interpretation(), get_opmethod_canorder(), indexam_property(), IndexAmTranslateCompareType(), IndexAmTranslateStrategy(), IndexSupportsBackwardScan(), IsIndexUsableForReplicaIdentityFull(), and pg_indexam_progress_phasename().
StrategyNumber IndexAmTranslateCompareType | ( | CompareType | cmptype, |
Oid | amoid, | ||
Oid | opfamily, | ||
bool | missing_ok | ||
) |
Definition at line 148 of file amapi.c.
References IndexAmRoutine::amtranslatecmptype, COMPARE_GT, COMPARE_INVALID, elog, ERROR, GetIndexAmRoutineByAmId(), and InvalidStrategy.
Referenced by ATAddForeignKeyConstraint(), build_replindex_scan_key(), BuildSpeculativeIndexInfo(), get_opfamily_member_for_cmptype(), GetOperatorFromCompareType(), IsIndexUsableForReplicaIdentityFull(), and mergejoinscansel().
CompareType IndexAmTranslateStrategy | ( | StrategyNumber | strategy, |
Oid | amoid, | ||
Oid | opfamily, | ||
bool | missing_ok | ||
) |
Definition at line 118 of file amapi.c.
References IndexAmRoutine::amtranslatestrategy, BTMaxStrategyNumber, COMPARE_INVALID, elog, ERROR, GetIndexAmRoutineByAmId(), and InvalidStrategy.
Referenced by get_actual_variable_range(), get_mergejoin_opfamilies(), get_op_index_interpretation(), get_ordering_op_for_equality_op(), get_ordering_op_properties(), mergejoinscansel(), and MJExamineQuals().