Package org.apache.druid.query.filter
Interface DruidPredicateFactory
-
- All Known Implementing Classes:
InDimFilter.InFilterDruidPredicateFactory
,JavaScriptDimFilter.JavaScriptPredicateFactory
,SelectorPredicateFactory
,StringPredicateDruidPredicateFactory
@SubclassesMustOverrideEqualsAndHashCode public interface DruidPredicateFactory
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
isNullInputUnknown()
Indicator for if null inputs should be considered 'unknown' matches when used for filter matching withValueMatcher.matches(boolean)
,VectorValueMatcher.match(ReadableVectorMatch, boolean)
, orBitmapColumnIndex.computeBitmapResult(BitmapResultFactory, boolean)
.default com.google.common.base.Predicate<Object[]>
makeArrayPredicate(TypeSignature<ValueType> inputType)
DruidDoublePredicate
makeDoublePredicate()
DruidFloatPredicate
makeFloatPredicate()
DruidLongPredicate
makeLongPredicate()
default com.google.common.base.Predicate<Object>
makeObjectPredicate()
Object predicate is currently only used by vectorized matchers for non-string object selectors.com.google.common.base.Predicate<String>
makeStringPredicate()
-
-
-
Method Detail
-
makeStringPredicate
com.google.common.base.Predicate<String> makeStringPredicate()
-
makeLongPredicate
DruidLongPredicate makeLongPredicate()
-
makeFloatPredicate
DruidFloatPredicate makeFloatPredicate()
-
makeDoublePredicate
DruidDoublePredicate makeDoublePredicate()
-
makeArrayPredicate
default com.google.common.base.Predicate<Object[]> makeArrayPredicate(@Nullable TypeSignature<ValueType> inputType)
-
makeObjectPredicate
default com.google.common.base.Predicate<Object> makeObjectPredicate()
Object 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.
-
isNullInputUnknown
default boolean isNullInputUnknown()
Indicator for if null inputs should be considered 'unknown' matches when used for filter matching withValueMatcher.matches(boolean)
,VectorValueMatcher.match(ReadableVectorMatch, boolean)
, orBitmapColumnIndex.computeBitmapResult(BitmapResultFactory, boolean)
. If returns true, unknown (null) inputs can automatically be considered matches ifincludeUnknown
is set to true on these methods, else null inputs should be evaluated against the predicate as any other value to determine a match
-
-