PostgreSQL Source Code  git master
blcost.c File Reference
#include "postgres.h"
#include "bloom.h"
#include "utils/selfuncs.h"
Include dependency graph for blcost.c:

Go to the source code of this file.

Functions

void blcostestimate (PlannerInfo *root, IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
 

Function Documentation

◆ blcostestimate()

void blcostestimate ( PlannerInfo root,
IndexPath path,
double  loop_count,
Cost indexStartupCost,
Cost indexTotalCost,
Selectivity indexSelectivity,
double *  indexCorrelation,
double *  indexPages 
)

Definition at line 22 of file blcost.c.

26 {
27  IndexOptInfo *index = path->indexinfo;
28  GenericCosts costs = {0};
29 
30  /* We have to visit all index tuples anyway */
31  costs.numIndexTuples = index->tuples;
32 
33  /* Use generic estimate */
34  genericcostestimate(root, path, loop_count, &costs);
35 
36  *indexStartupCost = costs.indexStartupCost;
37  *indexTotalCost = costs.indexTotalCost;
38  *indexSelectivity = costs.indexSelectivity;
39  *indexCorrelation = costs.indexCorrelation;
40  *indexPages = costs.numIndexPages;
41 }
tree ctl root
Definition: radixtree.h:1886
void genericcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, GenericCosts *costs)
Definition: selfuncs.c:6555
Selectivity indexSelectivity
Definition: selfuncs.h:127
Cost indexStartupCost
Definition: selfuncs.h:125
double indexCorrelation
Definition: selfuncs.h:128
Cost indexTotalCost
Definition: selfuncs.h:126
double numIndexPages
Definition: selfuncs.h:131
double numIndexTuples
Definition: selfuncs.h:132
IndexOptInfo * indexinfo
Definition: pathnodes.h:1720
Definition: type.h:95

References genericcostestimate(), GenericCosts::indexCorrelation, IndexPath::indexinfo, GenericCosts::indexSelectivity, GenericCosts::indexStartupCost, GenericCosts::indexTotalCost, GenericCosts::numIndexPages, GenericCosts::numIndexTuples, and root.

Referenced by blhandler().