@SubclassesMustOverrideEqualsAndHashCode public interface Filter
| Modifier and Type | Method and Description |
|---|---|
default boolean |
canVectorizeMatcher(ColumnInspector inspector)
Returns true if this filter can produce a vectorized matcher from its "makeVectorMatcher" method.
|
default double |
estimateSelectivity(ColumnIndexSelector indexSelector)
Estimate selectivity of this filter.
|
BitmapColumnIndex |
getBitmapColumnIndex(ColumnIndexSelector selector)
Returns a
BitmapColumnIndex if this filter supports using a bitmap index for filtering for the given input
ColumnIndexSelector. |
Set<String> |
getRequiredColumns()
Set of columns used by a filter.
|
ValueMatcher |
makeMatcher(ColumnSelectorFactory factory)
Get a ValueMatcher that applies this filter to row values.
|
default VectorValueMatcher |
makeVectorMatcher(VectorColumnSelectorFactory factory)
Get a VectorValueMatcher that applies this filter to row vectors.
|
default Filter |
rewriteRequiredColumns(Map<String,String> columnRewrites)
Return a copy of this filter that is identical to the this filter except that it operates on different columns,
based on a renaming map where the key is the column to be renamed in the filter, and the value is the new
column name.
|
default boolean |
supportsRequiredColumnRewrite()
Returns true is this filter is able to return a copy of this filter that is identical to this filter except that it
operates on different columns, based on a renaming map.
|
boolean |
supportsSelectivityEstimation(ColumnSelector columnSelector,
ColumnIndexSelector indexSelector)
Indicates whether this filter supports selectivity estimation.
|
@Nullable BitmapColumnIndex getBitmapColumnIndex(ColumnIndexSelector selector)
BitmapColumnIndex if this filter supports using a bitmap index for filtering for the given input
ColumnIndexSelector. The BitmapColumnIndex can be used to compute into a bitmap indicating rows
that match this filter result BitmapColumnIndex.computeBitmapResult(BitmapResultFactory), or examine
details about the index prior to computing it, via BitmapColumnIndex.getIndexCapabilities().selector - Object used to create BitmapColumnIndexValueMatcher makeMatcher(ColumnSelectorFactory factory)
factory - Object used to create ValueMatchersdefault VectorValueMatcher makeVectorMatcher(VectorColumnSelectorFactory factory)
factory - Object used to create ValueMatchersdefault double estimateSelectivity(ColumnIndexSelector 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 indexesgetBitmapColumnIndex(ColumnIndexSelector)boolean supportsSelectivityEstimation(ColumnSelector columnSelector, ColumnIndexSelector indexSelector)
columnSelector - Object to check the dimension has multi values.indexSelector - Object used to retrieve bitmap indexesdefault boolean canVectorizeMatcher(ColumnInspector inspector)
inspector - Supplies type information for the selectors this filter will match againstdefault boolean supportsRequiredColumnRewrite()
default Filter rewriteRequiredColumns(Map<String,String> columnRewrites)
columnRewrites - Column rewrite mapCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.