Package org.apache.druid.segment.filter
Class SelectorFilter
java.lang.Object
org.apache.druid.segment.filter.SelectorFilter
- All Implemented Interfaces:
Filter
This filter is to select the rows where the
dimension has the value. The value can be null.
In SQL-compatible null handling mode, this filter is equivalent to dimension = value
or dimension IS NULL when the value is null.
In default null handling mode, this filter is equivalent to dimension = value or
dimension = '' when the value is null.-
Constructor Summary
ConstructorsConstructorDescriptionSelectorFilter(String dimension, String value) SelectorFilter(String dimension, String value, 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.getValue()inthashCode()makeMatcher(ColumnSelectorFactory factory) Get aValueMatcherthat applies this filter to row values.Get aVectorValueMatcherthat applies this filter to row vectors.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.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
-
Constructor Details
-
SelectorFilter
-
SelectorFilter
-
-
Method Details
-
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
-
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.
-
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.
-
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
-
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
-
rewriteRequiredColumns
Description copied from interface:FilterReturn 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.For example, if I have a filter (A = hello), and I have a renaming map (A -> B), this should return the filter (B = hello)
- Specified by:
rewriteRequiredColumnsin interfaceFilter- Parameters:
columnRewrites- Column rewrite map- Returns:
- Copy of this filter that operates on new columns based on the rewrite map
-
toString
-
getDimension
-
getValue
-
equals
-
hashCode
public int hashCode()
-