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-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
23
blcostestimate
(
PlannerInfo
*
root
,
IndexPath
*path,
double
loop_count,
24
Cost
*indexStartupCost,
Cost
*indexTotalCost,
25
Selectivity
*indexSelectivity,
double
*indexCorrelation,
26
double
*indexPages)
27
{
28
IndexOptInfo
*
index
= path->
indexinfo
;
29
GenericCosts
costs = {0};
30
31
/* We have to visit all index tuples anyway */
32
costs.
numIndexTuples
=
index
->tuples;
33
34
/* Use generic estimate */
35
genericcostestimate
(
root
, path, loop_count, &costs);
36
37
*indexStartupCost = costs.
indexStartupCost
;
38
*indexTotalCost = costs.
indexTotalCost
;
39
*indexSelectivity = costs.
indexSelectivity
;
40
*indexCorrelation = costs.
indexCorrelation
;
41
*indexPages = costs.
numIndexPages
;
42
}
blcostestimate
void blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition:
blcost.c:23
bloom.h
fmgr.h
Cost
double Cost
Definition:
nodes.h:251
Selectivity
double Selectivity
Definition:
nodes.h:250
postgres.h
root
tree ctl root
Definition:
radixtree.h:1884
genericcostestimate
void genericcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, GenericCosts *costs)
Definition:
selfuncs.c:6544
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:1101
IndexPath
Definition:
pathnodes.h:1697
IndexPath::indexinfo
IndexOptInfo * indexinfo
Definition:
pathnodes.h:1699
PlannerInfo
Definition:
pathnodes.h:196
index
Definition:
type.h:95
contrib
bloom
blcost.c
Generated on Fri May 3 2024 18:13:13 for PostgreSQL Source Code by
1.9.1