Age Owner TLA Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * blcost.c
4 : * Cost estimate function for bloom indexes.
5 : *
6 : * Copyright (c) 2016-2025, PostgreSQL Global Development Group
7 : *
8 : * IDENTIFICATION
9 : * contrib/bloom/blcost.c
10 : *
11 : *-------------------------------------------------------------------------
12 : */
13 : #include "postgres.h"
14 :
15 : #include "bloom.h"
16 : #include "utils/selfuncs.h"
17 :
18 : /*
19 : * Estimate cost of bloom index scan.
20 : */
21 : void
3445 teodor@sigaev.ru 22 CBC 406 : blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count,
23 : Cost *indexStartupCost, Cost *indexTotalCost,
24 : Selectivity *indexSelectivity, double *indexCorrelation,
25 : double *indexPages)
26 : {
27 406 : IndexOptInfo *index = path->indexinfo;
1148 peter@eisentraut.org 28 406 : GenericCosts costs = {0};
29 :
30 : /* We have to visit all index tuples anyway */
3445 teodor@sigaev.ru 31 406 : costs.numIndexTuples = index->tuples;
32 :
33 : /* Use generic estimate */
2395 tgl@sss.pgh.pa.us 34 406 : genericcostestimate(root, path, loop_count, &costs);
35 :
3445 teodor@sigaev.ru 36 406 : *indexStartupCost = costs.indexStartupCost;
37 406 : *indexTotalCost = costs.indexTotalCost;
38 406 : *indexSelectivity = costs.indexSelectivity;
39 406 : *indexCorrelation = costs.indexCorrelation;
3125 rhaas@postgresql.org 40 406 : *indexPages = costs.numIndexPages;
3445 teodor@sigaev.ru 41 406 : }
|