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-2019, 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 | double *indexPages); |
33 | extern void btcostestimate(struct PlannerInfo *root, |
34 | struct IndexPath *path, |
35 | double loop_count, |
36 | Cost *indexStartupCost, |
37 | Cost *indexTotalCost, |
38 | Selectivity *indexSelectivity, |
39 | double *indexCorrelation, |
40 | double *indexPages); |
41 | extern void hashcostestimate(struct PlannerInfo *root, |
42 | struct IndexPath *path, |
43 | double loop_count, |
44 | Cost *indexStartupCost, |
45 | Cost *indexTotalCost, |
46 | Selectivity *indexSelectivity, |
47 | double *indexCorrelation, |
48 | double *indexPages); |
49 | extern void gistcostestimate(struct PlannerInfo *root, |
50 | struct IndexPath *path, |
51 | double loop_count, |
52 | Cost *indexStartupCost, |
53 | Cost *indexTotalCost, |
54 | Selectivity *indexSelectivity, |
55 | double *indexCorrelation, |
56 | double *indexPages); |
57 | extern void spgcostestimate(struct PlannerInfo *root, |
58 | struct IndexPath *path, |
59 | double loop_count, |
60 | Cost *indexStartupCost, |
61 | Cost *indexTotalCost, |
62 | Selectivity *indexSelectivity, |
63 | double *indexCorrelation, |
64 | double *indexPages); |
65 | extern void gincostestimate(struct PlannerInfo *root, |
66 | struct IndexPath *path, |
67 | double loop_count, |
68 | Cost *indexStartupCost, |
69 | Cost *indexTotalCost, |
70 | Selectivity *indexSelectivity, |
71 | double *indexCorrelation, |
72 | double *indexPages); |
73 | |
74 | #endif /* INDEX_SELFUNCS_H */ |
75 | |