index_selfuncs.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #include "access/amapi.h"
  22. /* Functions in selfuncs.c */
  23. extern void brincostestimate(struct PlannerInfo *root,
  24. struct IndexPath *path,
  25. double loop_count,
  26. Cost *indexStartupCost,
  27. Cost *indexTotalCost,
  28. Selectivity *indexSelectivity,
  29. double *indexCorrelation);
  30. extern void btcostestimate(struct PlannerInfo *root,
  31. struct IndexPath *path,
  32. double loop_count,
  33. Cost *indexStartupCost,
  34. Cost *indexTotalCost,
  35. Selectivity *indexSelectivity,
  36. double *indexCorrelation);
  37. extern void hashcostestimate(struct PlannerInfo *root,
  38. struct IndexPath *path,
  39. double loop_count,
  40. Cost *indexStartupCost,
  41. Cost *indexTotalCost,
  42. Selectivity *indexSelectivity,
  43. double *indexCorrelation);
  44. extern void gistcostestimate(struct PlannerInfo *root,
  45. struct IndexPath *path,
  46. double loop_count,
  47. Cost *indexStartupCost,
  48. Cost *indexTotalCost,
  49. Selectivity *indexSelectivity,
  50. double *indexCorrelation);
  51. extern void spgcostestimate(struct PlannerInfo *root,
  52. struct IndexPath *path,
  53. double loop_count,
  54. Cost *indexStartupCost,
  55. Cost *indexTotalCost,
  56. Selectivity *indexSelectivity,
  57. double *indexCorrelation);
  58. extern void gincostestimate(struct PlannerInfo *root,
  59. struct IndexPath *path,
  60. double loop_count,
  61. Cost *indexStartupCost,
  62. Cost *indexTotalCost,
  63. Selectivity *indexSelectivity,
  64. double *indexCorrelation);
  65. #endif /* INDEX_SELFUNCS_H */