Package org.apache.druid.segment.filter
Class ExpressionFilter
java.lang.Object
org.apache.druid.segment.filter.ExpressionFilter
- All Implemented Interfaces:
Filter
-
Constructor Summary
ConstructorsConstructorDescriptionExpressionFilter(com.google.common.base.Supplier<Expr> expr, FilterTuning filterTuning) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanVectorizeMatcher(ColumnInspector inspector) Returns true if this filter can produce a vectorized matcher from its "makeVectorMatcher" method.booleangetBitmapColumnIndex(ColumnIndexSelector selector) Returns aBitmapColumnIndexif this filter supports using a bitmap index for filtering for the given inputColumnIndexSelector.Set of columns used by a filter.inthashCode()makeMatcher(ColumnSelectorFactory factory) Get aValueMatcherthat applies this filter to row values.Get aVectorValueMatcherthat applies this filter to row vectors.booleanReturns 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.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.druid.query.filter.Filter
makeFilterBundle, rewriteRequiredColumns
-
Constructor Details
-
ExpressionFilter
-
-
Method Details
-
canVectorizeMatcher
Description copied from interface:FilterReturns true if this filter can produce a vectorized matcher from its "makeVectorMatcher" method.- Specified by:
canVectorizeMatcherin interfaceFilter- Parameters:
inspector- Supplies type information for the selectors this filter will match against
-
makeVectorMatcher
Description copied from interface:FilterGet aVectorValueMatcherthat applies this filter to row vectors.- Specified by:
makeVectorMatcherin interfaceFilter- Parameters:
factory- Object used to create ValueMatchers- Returns:
- VectorValueMatcher that applies this filter to row vectors.
-
makeMatcher
Description copied from interface:FilterGet aValueMatcherthat applies this filter to row values.- Specified by:
makeMatcherin interfaceFilter- Parameters:
factory- Object used to create ValueMatchers- Returns:
- ValueMatcher that applies this filter to row values.
-
getBitmapColumnIndex
Description copied from interface:FilterReturns aBitmapColumnIndexif this filter supports using a bitmap index for filtering for the given inputColumnIndexSelector. TheBitmapColumnIndexcan be used to compute into a bitmap indicating rows that match this filter resultBitmapColumnIndex.computeBitmapResult(BitmapResultFactory, boolean), or examine details about the index prior to computing it, viaBitmapColumnIndex.getIndexCapabilities().- Specified by:
getBitmapColumnIndexin interfaceFilter- Parameters:
selector- Object used to create BitmapColumnIndex- Returns:
- BitmapColumnIndex that can build ImmutableBitmap of matched row numbers
-
getRequiredColumns
Description copied from interface:FilterSet of columns used by a filter.- Specified by:
getRequiredColumnsin interfaceFilter
-
supportsRequiredColumnRewrite
public boolean supportsRequiredColumnRewrite()Description copied from interface:FilterReturns 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.- Specified by:
supportsRequiredColumnRewritein interfaceFilter
-
equals
-
hashCode
public int hashCode() -
toString
-