public interface Filter
Modifier and Type | Method and Description |
---|---|
double |
estimateSelectivity(BitmapIndexSelector indexSelector)
Estimate selectivity of this filter.
|
default ImmutableBitmap |
getBitmapIndex(BitmapIndexSelector selector)
Get a bitmap index, indicating rows that match 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.
|
default ImmutableBitmap getBitmapIndex(BitmapIndexSelector selector)
supportsBitmapIndex(BitmapIndexSelector)
returns true. Behavior in the case that
supportsBitmapIndex(BitmapIndexSelector)
returns false is undefined.
This method is OK to be called, but generally should not be overridden, override getBitmapResult(io.druid.query.filter.BitmapIndexSelector, io.druid.query.BitmapResultFactory<T>)
instead.selector
- Object used to retrieve bitmap indexesestimateSelectivity(BitmapIndexSelector)
<T> T getBitmapResult(BitmapIndexSelector selector, BitmapResultFactory<T> bitmapResultFactory)
supportsBitmapIndex(BitmapIndexSelector)
returns true. Behavior in the case that
supportsBitmapIndex(BitmapIndexSelector)
returns false is undefined.selector
- Object used to retrieve bitmap indexesestimateSelectivity(BitmapIndexSelector)
double estimateSelectivity(BitmapIndexSelector indexSelector)
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.indexSelector
- Object used to retrieve bitmap indexesgetBitmapIndex(BitmapIndexSelector)
ValueMatcher makeMatcher(ColumnSelectorFactory factory)
factory
- Object used to create ValueMatchersboolean supportsBitmapIndex(BitmapIndexSelector selector)
selector
- Object used to retrieve bitmap indexesboolean supportsSelectivityEstimation(ColumnSelector columnSelector, BitmapIndexSelector indexSelector)
columnSelector
- Object to check the dimension has multi values.indexSelector
- Object used to retrieve bitmap indexesCopyright © 2011–2018. All rights reserved.