public class DimensionPredicateFilter extends Object implements Filter
Constructor and Description |
---|
DimensionPredicateFilter(String dimension,
DruidPredicateFactory predicateFactory,
ExtractionFn extractionFn) |
Modifier and Type | Method and Description |
---|---|
double |
estimateSelectivity(BitmapIndexSelector indexSelector)
Estimate selectivity of this filter.
|
<T> T |
getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory)
Get a (possibly wrapped) bitmap index, indicating rows that match this filter.
|
ValueMatcher |
makeMatcher(ColumnSelectorFactory factory)
Get a ValueMatcher that applies this filter to row values.
|
boolean |
supportsBitmapIndex(BitmapIndexSelector selector)
Indicates whether this filter can return a bitmap index for filtering, based on
the information provided by the input BitmapIndexSelector.
|
boolean |
supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector)
Indicates whether this filter supports selectivity estimation.
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getBitmapIndex
public DimensionPredicateFilter(String dimension, DruidPredicateFactory predicateFactory, ExtractionFn extractionFn)
public <T> T getBitmapResult(BitmapIndexSelector selector, BitmapResultFactory<T> bitmapResultFactory)
Filter
Filter.supportsBitmapIndex(BitmapIndexSelector)
returns true. Behavior in the case that
Filter.supportsBitmapIndex(BitmapIndexSelector)
returns false is undefined.getBitmapResult
in interface Filter
selector
- Object used to retrieve bitmap indexesFilter.estimateSelectivity(BitmapIndexSelector)
public ValueMatcher makeMatcher(ColumnSelectorFactory factory)
Filter
makeMatcher
in interface Filter
factory
- Object used to create ValueMatcherspublic boolean supportsBitmapIndex(BitmapIndexSelector selector)
Filter
supportsBitmapIndex
in interface Filter
selector
- Object used to retrieve bitmap indexespublic boolean supportsSelectivityEstimation(ColumnSelector columnSelector, BitmapIndexSelector indexSelector)
Filter
supportsSelectivityEstimation
in interface Filter
columnSelector
- Object to check the dimension has multi values.indexSelector
- Object used to retrieve bitmap indexespublic double estimateSelectivity(BitmapIndexSelector indexSelector)
Filter
AutoStrategy
.
To avoid significant performance degradation for calculating the exact cost,
implementation of this method targets to achieve rapid selectivity estimation
with reasonable sacrifice of the accuracy.
As a result, the estimated selectivity might be different from the exact value.estimateSelectivity
in interface Filter
indexSelector
- Object used to retrieve bitmap indexesFilter.getBitmapIndex(BitmapIndexSelector)
Copyright © 2011–2018. All rights reserved.