Package org.apache.druid.query.filter
Class SelectorDimFilter
- java.lang.Object
-
- org.apache.druid.query.filter.AbstractOptimizableDimFilter
-
- org.apache.druid.query.filter.SelectorDimFilter
-
public class SelectorDimFilter extends AbstractOptimizableDimFilter implements DimFilter
Recommended to useEqualityFilterorNullFilterinstead
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.query.filter.DimFilter
DimFilter.DimFilterToStringBuilder
-
-
Constructor Summary
Constructors Constructor Description SelectorDimFilter(String dimension, String value, ExtractionFn extractionFn)SelectorDimFilter(String dimension, String value, ExtractionFn extractionFn, FilterTuning filterTuning)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)byte[]getCacheKey()Get a byte array used as a cache key.StringgetDimension()com.google.common.collect.RangeSet<String>getDimensionRangeSet(String dimension)Returns a RangeSet that represents the possible range of the input dimension for this DimFilter.This is applicable to filters that use dimensions such as select, in, bound, and logical filters such as and, or, not.ExtractionFngetExtractionFn()FilterTuninggetFilterTuning()Set<String>getRequiredColumns()StringgetValue()Value to filter against.inthashCode()DimFilteroptimize(boolean mayIncludeUnknown)Returns an optimized version of this filter.FiltertoFilter()Returns a Filter that implements this DimFilter.StringtoString()-
Methods inherited from class org.apache.druid.query.filter.AbstractOptimizableDimFilter
toOptimizedFilter
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.druid.query.filter.DimFilter
toOptimizedFilter
-
-
-
-
Constructor Detail
-
SelectorDimFilter
public SelectorDimFilter(String dimension, String value, @Nullable ExtractionFn extractionFn, @Nullable FilterTuning filterTuning)
-
SelectorDimFilter
public SelectorDimFilter(String dimension, String value, @Nullable ExtractionFn extractionFn)
-
-
Method Detail
-
getCacheKey
public byte[] getCacheKey()
Description copied from interface:CacheableGet a byte array used as a cache key.- Specified by:
getCacheKeyin interfaceCacheable- Returns:
- a cache key
-
optimize
public DimFilter optimize(boolean mayIncludeUnknown)
Description copied from interface:DimFilterReturns an optimized version of this filter.- Specified by:
optimizein interfaceDimFilter- Overrides:
optimizein classAbstractOptimizableDimFilter- Parameters:
mayIncludeUnknown- whether the optimized filter may need to operate in "includeUnknown" mode. SeeNullHandling.useThreeValueLogic().
-
toFilter
public Filter toFilter()
Description copied from interface:DimFilterReturns a Filter that implements this DimFilter. This does not generally involve optimizing the DimFilter, so it does make sense to optimize first and then call toFilter on the resulting DimFilter.
-
getDimension
public String getDimension()
-
getValue
@Nullable public String getValue()
Value to filter against. Ifnull, then the meaning is `is null`.
-
getExtractionFn
@Nullable public ExtractionFn getExtractionFn()
-
getFilterTuning
@Nullable public FilterTuning getFilterTuning()
-
getDimensionRangeSet
public com.google.common.collect.RangeSet<String> getDimensionRangeSet(String dimension)
Description copied from interface:DimFilterReturns a RangeSet that represents the possible range of the input dimension for this DimFilter.This is applicable to filters that use dimensions such as select, in, bound, and logical filters such as and, or, not. Null represents that the range cannot be determined, and will be returned for filters such as javascript and regex where there's no easy way to determine the filtered range. It is treated the same way as an all range in most cases, however there are some subtle difference at logical filters such as not filter, where complement of all is nothing while complement of null is still null.- Specified by:
getDimensionRangeSetin interfaceDimFilter- Parameters:
dimension- name of the dimension to get range for- Returns:
- a RangeSet that represent the possible range of the input dimension, or null if it is not possible to determine for this DimFilter.
-
getRequiredColumns
public Set<String> getRequiredColumns()
- Specified by:
getRequiredColumnsin interfaceDimFilter- Returns:
- a HashSet that represents all columns' name which the DimFilter required to do filter.
-
-