Package org.apache.druid.query.filter
Class EqualityFilter.EqualityPredicateFactory
- java.lang.Object
-
- org.apache.druid.query.filter.EqualityFilter.EqualityPredicateFactory
-
- All Implemented Interfaces:
DruidPredicateFactory
- Enclosing class:
- EqualityFilter
public static class EqualityFilter.EqualityPredicateFactory extends Object implements DruidPredicateFactory
-
-
Constructor Summary
Constructors Constructor Description EqualityPredicateFactory(ExprEval<?> matchValue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)inthashCode()DruidObjectPredicate<Object[]>makeArrayPredicate(TypeSignature<ValueType> arrayType)DruidDoublePredicatemakeDoublePredicate()DruidFloatPredicatemakeFloatPredicate()DruidLongPredicatemakeLongPredicate()DruidObjectPredicate<Object>makeObjectPredicate()Object predicate is currently only used by vectorized matchers for non-string object selectors.DruidObjectPredicate<String>makeStringPredicate()
-
-
-
Constructor Detail
-
EqualityPredicateFactory
public EqualityPredicateFactory(ExprEval<?> matchValue)
-
-
Method Detail
-
makeStringPredicate
public DruidObjectPredicate<String> makeStringPredicate()
- Specified by:
makeStringPredicatein interfaceDruidPredicateFactory
-
makeLongPredicate
public DruidLongPredicate makeLongPredicate()
- Specified by:
makeLongPredicatein interfaceDruidPredicateFactory
-
makeFloatPredicate
public DruidFloatPredicate makeFloatPredicate()
- Specified by:
makeFloatPredicatein interfaceDruidPredicateFactory
-
makeDoublePredicate
public DruidDoublePredicate makeDoublePredicate()
- Specified by:
makeDoublePredicatein interfaceDruidPredicateFactory
-
makeArrayPredicate
public DruidObjectPredicate<Object[]> makeArrayPredicate(@Nullable TypeSignature<ValueType> arrayType)
- Specified by:
makeArrayPredicatein interfaceDruidPredicateFactory
-
makeObjectPredicate
public DruidObjectPredicate<Object> makeObjectPredicate()
Description copied from interface:DruidPredicateFactoryObject predicate is currently only used by vectorized matchers for non-string object selectors. This currently means it will be used only if we encounter COMPLEX types, but will also include array types once they are more supported throughout the query engines. To preserve behavior with non-vectorized matchers which use a string predicate with null inputs for these 'nil' matchers, we do the same thing here.
-
-