Class SelectorDimFilter

java.lang.Object
org.apache.druid.query.filter.AbstractOptimizableDimFilter
org.apache.druid.query.filter.SelectorDimFilter
All Implemented Interfaces:
Cacheable, DimFilter

public class SelectorDimFilter extends AbstractOptimizableDimFilter implements DimFilter
Recommended to use EqualityFilter or NullFilter instead
  • Constructor Details

  • Method Details

    • getCacheKey

      public byte[] getCacheKey()
      Description copied from interface: Cacheable
      Get a byte array used as a cache key.
      Specified by:
      getCacheKey in interface Cacheable
      Returns:
      bytes to be used as cache key - or null if this object should not be cached.
    • optimize

      public DimFilter optimize(boolean mayIncludeUnknown)
      Description copied from interface: DimFilter
      Returns an optimized version of this filter.
      Specified by:
      optimize in interface DimFilter
      Overrides:
      optimize in class AbstractOptimizableDimFilter
      Parameters:
      mayIncludeUnknown - whether the optimized filter may need to operate in "includeUnknown" mode.
    • toFilter

      public Filter toFilter()
      Description copied from interface: DimFilter
      Returns 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.
      Specified by:
      toFilter in interface DimFilter
      Returns:
      a Filter that implements this DimFilter, or null if this DimFilter is a no-op.
    • getDimension

      public String getDimension()
    • getValue

      @Nullable public String getValue()
      Value to filter against. If null, then the meaning is `is null`.
    • getExtractionFn

      @Nullable public ExtractionFn getExtractionFn()
    • getFilterTuning

      @Nullable public FilterTuning getFilterTuning()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDimensionRangeSet

      public com.google.common.collect.RangeSet<String> getDimensionRangeSet(String dimension)
      Description copied from interface: DimFilter
      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. 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:
      getDimensionRangeSet in interface DimFilter
      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:
      getRequiredColumns in interface DimFilter
      Returns:
      a HashSet that represents all columns' name which the DimFilter required to do filter.