Age Owner Branch data TLA Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * blcost.c
4 : : * Cost estimate function for bloom indexes.
5 : : *
6 : : * Copyright (c) 2016-2024, 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 "fmgr.h"
17 : : #include "utils/selfuncs.h"
18 : :
19 : : /*
20 : : * Estimate cost of bloom index scan.
21 : : */
22 : : void
2935 teodor@sigaev.ru 23 :CBC 406 : blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count,
24 : : Cost *indexStartupCost, Cost *indexTotalCost,
25 : : Selectivity *indexSelectivity, double *indexCorrelation,
26 : : double *indexPages)
27 : : {
28 : 406 : IndexOptInfo *index = path->indexinfo;
638 peter@eisentraut.org 29 : 406 : GenericCosts costs = {0};
30 : :
31 : : /* We have to visit all index tuples anyway */
2935 teodor@sigaev.ru 32 : 406 : costs.numIndexTuples = index->tuples;
33 : :
34 : : /* Use generic estimate */
1885 tgl@sss.pgh.pa.us 35 : 406 : genericcostestimate(root, path, loop_count, &costs);
36 : :
2935 teodor@sigaev.ru 37 : 406 : *indexStartupCost = costs.indexStartupCost;
38 : 406 : *indexTotalCost = costs.indexTotalCost;
39 : 406 : *indexSelectivity = costs.indexSelectivity;
40 : 406 : *indexCorrelation = costs.indexCorrelation;
2615 rhaas@postgresql.org 41 : 406 : *indexPages = costs.numIndexPages;
2935 teodor@sigaev.ru 42 : 406 : }
|