2
0

index_selfuncs.h 2.4 KB

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