codekingpro/portable-devtools
114k
1/*-------------------------------------------------------------------------2 *3 * index_selfuncs.h4 * 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 the8 * 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 likely10 * a mistake.11 *12 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group13 * Portions Copyright (c) 1994, Regents of the University of California14 *15 * src/include/utils/index_selfuncs.h16 *17 *-------------------------------------------------------------------------18 */19#ifndef INDEX_SELFUNCS_H20#define INDEX_SELFUNCS_H21 22#include "access/amapi.h"23 24/* Functions in selfuncs.c */25extern 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);33extern 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);41extern 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);49extern 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);57extern 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);65extern 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 