@Override public ValueMatcher makeValueMatcher(final DimensionSelector selector, String value) { if (selector.getValueCardinality() == 0) { return BooleanValueMatcher.of(value == null); } else { return selector.makeValueMatcher(value); } }
@Override public ValueMatcher makeValueMatcher( final DimensionSelector selector, final DruidPredicateFactory predicateFactory ) { final Predicate<String> predicate = predicateFactory.makeStringPredicate(); if (selector.getValueCardinality() == 0) { return BooleanValueMatcher.of(predicate.apply(null)); } else { return selector.makeValueMatcher(predicate); } }
); final ValueMatcher nullMatcher = selector.makeValueMatcher((String) null); final ValueMatcher fiveMatcher = selector.makeValueMatcher("5"); final ValueMatcher nonNullMatcher = selector.makeValueMatcher(Predicates.notNull());
); final ValueMatcher nullMatcher = selector.makeValueMatcher((String) null); final ValueMatcher fiveMatcher = selector.makeValueMatcher("5"); final ValueMatcher nonNullMatcher = selector.makeValueMatcher(Predicates.notNull());
@Override public ValueMatcher makeValueMatcher(final DimensionSelector selector, String value) { if (selector.getValueCardinality() == 0) { return BooleanValueMatcher.of(value == null); } else { return selector.makeValueMatcher(value); } }
@Override public ValueMatcher makeValueMatcher( final DimensionSelector selector, final DruidPredicateFactory predicateFactory ) { final Predicate<String> predicate = predicateFactory.makeStringPredicate(); if (selector.getValueCardinality() == 0) { return BooleanValueMatcher.of(predicate.apply(null)); } else { return selector.makeValueMatcher(predicate); } }