PostgreSQL Source Code
git master
blcost.c
Go to the documentation of this file.
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
22
blcostestimate
(
PlannerInfo
*
root
,
IndexPath
*path,
double
loop_count,
23
Cost
*indexStartupCost,
Cost
*indexTotalCost,
24
Selectivity
*indexSelectivity,
double
*indexCorrelation,
25
double
*indexPages)
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
}
blcostestimate
void blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition:
blcost.c:22
bloom.h
Cost
double Cost
Definition:
nodes.h:251
Selectivity
double Selectivity
Definition:
nodes.h:250
postgres.h
root
tree ctl root
Definition:
radixtree.h:1857
genericcostestimate
void genericcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, GenericCosts *costs)
Definition:
selfuncs.c:6578
selfuncs.h
GenericCosts
Definition:
selfuncs.h:123
GenericCosts::indexSelectivity
Selectivity indexSelectivity
Definition:
selfuncs.h:127
GenericCosts::indexStartupCost
Cost indexStartupCost
Definition:
selfuncs.h:125
GenericCosts::indexCorrelation
double indexCorrelation
Definition:
selfuncs.h:128
GenericCosts::indexTotalCost
Cost indexTotalCost
Definition:
selfuncs.h:126
GenericCosts::numIndexPages
double numIndexPages
Definition:
selfuncs.h:131
GenericCosts::numIndexTuples
double numIndexTuples
Definition:
selfuncs.h:132
IndexOptInfo
Definition:
pathnodes.h:1114
IndexPath
Definition:
pathnodes.h:1720
IndexPath::indexinfo
IndexOptInfo * indexinfo
Definition:
pathnodes.h:1722
PlannerInfo
Definition:
pathnodes.h:196
index
Definition:
type.h:96
contrib
bloom
blcost.c
Generated on Wed Jan 22 2025 12:13:13 for PostgreSQL Source Code by
1.9.4