| /*------------------------------------------------------------------------- |
| * |
| * index_selfuncs.h |
| * Index cost estimation functions for standard index access methods. |
| * |
| * |
| * Note: this is split out of selfuncs.h mainly to avoid importing all of the |
| * planner's data structures into the non-planner parts of the index AMs. |
| * If you make it depend on anything besides access/amapi.h, that's likely |
| * a mistake. |
| * |
| * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/utils/index_selfuncs.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef INDEX_SELFUNCS_H |
| #define INDEX_SELFUNCS_H |
| |
| #include "access/amapi.h" |
| |
| /* Functions in selfuncs.c */ |
| extern void brincostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void btcostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void hashcostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void gistcostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void spgcostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void gincostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| extern void bmcostestimate(struct PlannerInfo *root, |
| struct IndexPath *path, |
| double loop_count, |
| Cost *indexStartupCost, |
| Cost *indexTotalCost, |
| Selectivity *indexSelectivity, |
| double *indexCorrelation, |
| double *indexPages); |
| |
| #endif /* INDEX_SELFUNCS_H */ |