Package org.apache.druid.query.filter
Class ExpressionDimFilter
java.lang.Object
org.apache.druid.query.filter.AbstractOptimizableDimFilter
org.apache.druid.query.filter.ExpressionDimFilter
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.druid.query.filter.DimFilter
DimFilter.DimFilterToStringBuilder -
Constructor Summary
ConstructorsConstructorDescriptionExpressionDimFilter(String expression, ExprMacroTable macroTable) Constructor used in various tests that don't need to provideFilterTuning.ExpressionDimFilter(String expression, Expr parsed, FilterTuning filterTuning) Constructor for already-parsed-and-analyzed expressions.ExpressionDimFilter(String expression, FilterTuning filterTuning, ExprMacroTable macroTable) Constructor for deserialization. -
Method Summary
Modifier and TypeMethodDescriptionbooleanbyte[]Get a byte array used as a cache key.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.inthashCode()toFilter()Returns a Filter that implements this DimFilter.toString()Methods inherited from class org.apache.druid.query.filter.AbstractOptimizableDimFilter
optimize, toOptimizedFilterMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.druid.query.filter.DimFilter
optimize, toOptimizedFilter
-
Constructor Details
-
ExpressionDimFilter
public ExpressionDimFilter(String expression, @Nullable FilterTuning filterTuning, ExprMacroTable macroTable) Constructor for deserialization. -
ExpressionDimFilter
Constructor used in various tests that don't need to provideFilterTuning. -
ExpressionDimFilter
Constructor for already-parsed-and-analyzed expressions.
-
-
Method Details
-
getExpression
-
getFilterTuning
-
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. -
getDimensionRangeSet
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
- Specified by:
getRequiredColumnsin interfaceDimFilter- Returns:
- a HashSet that represents all columns' name which the DimFilter required to do filter.
-
getCacheKey
public byte[] getCacheKey()Description copied from interface:CacheableGet a byte array used as a cache key.- Specified by:
getCacheKeyin interfaceCacheable- Returns:
- bytes to be used as cache key - or null if this object should not be cached.
-
toString
-
equals
-
hashCode
public int hashCode()
-