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 */
21void
22blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count,
23 Cost *indexStartupCost, Cost *indexTotalCost,
24 Selectivity *indexSelectivity, double *indexCorrelation,
25 double *indexPages)
26{
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}
void blcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, Cost *indexStartupCost, Cost *indexTotalCost, Selectivity *indexSelectivity, double *indexCorrelation, double *indexPages)
Definition: blcost.c:22
double Cost
Definition: nodes.h:251
double Selectivity
Definition: nodes.h:250
tree ctl root
Definition: radixtree.h:1857
void genericcostestimate(PlannerInfo *root, IndexPath *path, double loop_count, GenericCosts *costs)
Definition: selfuncs.c:6578
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:1722
Definition: type.h:96