1/*-------------------------------------------------------------------------
4 * Index cost estimation functions for standard index access methods.
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
12 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
13 * Portions Copyright (c) 1994, Regents of the University of California
15 * src/include/utils/index_selfuncs.h
17 *-------------------------------------------------------------------------
19#ifndef INDEX_SELFUNCS_H
20#define INDEX_SELFUNCS_H
24/* Functions in selfuncs.c */
28 Cost *indexStartupCost,
31 double *indexCorrelation,
36 Cost *indexStartupCost,
39 double *indexCorrelation,
44 Cost *indexStartupCost,
47 double *indexCorrelation,
52 Cost *indexStartupCost,
55 double *indexCorrelation,
60 Cost *indexStartupCost,
63 double *indexCorrelation,
68 Cost *indexStartupCost,
71 double *indexCorrelation,
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)
void btcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
void gincostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
void spgcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
void gistcostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
void brincostestimate(struct PlannerInfo *root, struct IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)