1 /*------------------------------------------------------------------------- 2 * 3 * index_selfuncs.h 4 * Index cost estimation functions for standard index access methods. 5 * 6 * 7 * Note: this is split out of selfuncs.h mainly to avoid importing all of the 8 * planner's data structures into the non-planner parts of the index AMs. 9 * If you make it depend on anything besides access/amapi.h, that's likely 10 * a mistake. 11 * 12 * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group 13 * Portions Copyright (c) 1994, Regents of the University of California 14 * 15 * src/include/utils/index_selfuncs.h 16 * 17 *------------------------------------------------------------------------- 18 */ 19 #ifndef INDEX_SELFUNCS_H 20 #define INDEX_SELFUNCS_H 21 22 #include "access/amapi.h" 23 24 /* Functions in selfuncs.c */ 25 extern void brincostestimate(struct PlannerInfo *root, 26 struct IndexPath *path, 27 double loop_count, 28 Cost *indexStartupCost, 29 Cost *indexTotalCost, 30 Selectivity *indexSelectivity, 31 double *indexCorrelation); 32 extern void btcostestimate(struct PlannerInfo *root, 33 struct IndexPath *path, 34 double loop_count, 35 Cost *indexStartupCost, 36 Cost *indexTotalCost, 37 Selectivity *indexSelectivity, 38 double *indexCorrelation); 39 extern void hashcostestimate(struct PlannerInfo *root, 40 struct IndexPath *path, 41 double loop_count, 42 Cost *indexStartupCost, 43 Cost *indexTotalCost, 44 Selectivity *indexSelectivity, 45 double *indexCorrelation); 46 extern void gistcostestimate(struct PlannerInfo *root, 47 struct IndexPath *path, 48 double loop_count, 49 Cost *indexStartupCost, 50 Cost *indexTotalCost, 51 Selectivity *indexSelectivity, 52 double *indexCorrelation); 53 extern void spgcostestimate(struct PlannerInfo *root, 54 struct IndexPath *path, 55 double loop_count, 56 Cost *indexStartupCost, 57 Cost *indexTotalCost, 58 Selectivity *indexSelectivity, 59 double *indexCorrelation); 60 extern void gincostestimate(struct PlannerInfo *root, 61 struct IndexPath *path, 62 double loop_count, 63 Cost *indexStartupCost, 64 Cost *indexTotalCost, 65 Selectivity *indexSelectivity, 66 double *indexCorrelation); 67 68 #endif /* INDEX_SELFUNCS_H */ 69