PostgreSQL Source Code  git master
index_selfuncs.h
Go to the documentation of this file.
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-2024, 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 */
void hashcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:7131
void btcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:6788
void gincostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:7583
void spgcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:7228
void gistcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:7173
void brincostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: selfuncs.c:7973
double Cost
Definition: nodes.h:251
double Selectivity
Definition: nodes.h:250
tree ctl root
Definition: radixtree.h:1880