public TopNQueryBuilder filters(String dimensionName, String value) { dimFilter = new SelectorDimFilter(dimensionName, value, null); return this; }
@Override public Filter toFilter() { return new SelectorDimFilter(dimension, value, extractionFn).toFilter(); }
public static BoundRefKey from(SelectorDimFilter filter, StringComparator comparator) { return new BoundRefKey( filter.getDimension(), filter.getExtractionFn(), comparator ); }
@Override public DimFilter optimize() { return new SelectorDimFilter(dimension, value, extractionFn).optimize(); }
@Test public void testGetCacheKey() { SelectorDimFilter selectorDimFilter = new SelectorDimFilter("abc", "d", null); SelectorDimFilter selectorDimFilter2 = new SelectorDimFilter("ab", "cd", null); Assert.assertFalse(Arrays.equals(selectorDimFilter.getCacheKey(), selectorDimFilter2.getCacheKey())); RegexDimExtractionFn regexFn = new RegexDimExtractionFn(".*", false, null); SelectorDimFilter selectorDimFilter3 = new SelectorDimFilter("abc", "d", regexFn); Assert.assertFalse(Arrays.equals(selectorDimFilter.getCacheKey(), selectorDimFilter3.getCacheKey())); }
assertFilterMatches(new SelectorDimFilter("dim0", "HELLO", lookupFn), ImmutableList.of("1")); assertFilterMatches(new SelectorDimFilter("dim0", "UNKNOWN", lookupFn), ImmutableList.of("0", "2", "3", "4", "5")); assertFilterMatches(new SelectorDimFilter("dim1", "HELLO", lookupFn), ImmutableList.of("3", "4")); assertFilterMatches(new SelectorDimFilter("dim1", "UNKNOWN", lookupFn), ImmutableList.of("0", "1", "2", "5")); assertFilterMatches(new SelectorDimFilter("dim2", "HELLO", lookupFn), ImmutableList.of("0", "3")); assertFilterMatches(new SelectorDimFilter("dim2", "UNKNOWN", lookupFn), ImmutableList.of("0", "1", "2", "4", "5")); assertFilterMatches(new SelectorDimFilter("dim3", "HELLO", lookupFn), ImmutableList.of()); assertFilterMatches(new SelectorDimFilter("dim3", "UNKNOWN", lookupFn), ImmutableList.of("0", "1", "2", "3", "4", "5")); assertFilterMatches(new SelectorDimFilter("dim4", "HELLO", lookupFn), ImmutableList.of()); assertFilterMatches(new SelectorDimFilter("dim4", "UNKNOWN", lookupFn), ImmutableList.of("0", "1", "2", "3", "4", "5")); LookupExtractor mapExtractor2 = new MapLookupExtractor(stringMap2, false); LookupExtractionFn lookupFn2 = new LookupExtractionFn(mapExtractor2, true, null, false, true); assertFilterMatches(new SelectorDimFilter("dim0", "5", lookupFn2), ImmutableList.of("2", "5")); new SelectorDimFilter("dim0", null, lookupFn3), ImmutableList.of("0", "1", "2", "3", "4", "5") ); } else { assertFilterMatches( new SelectorDimFilter("dim0", null, lookupFn3), ImmutableList.of("0", "2", "3", "4", "5") ); assertFilterMatches( new SelectorDimFilter("dim0", "", lookupFn3),
@Test public void testHashCode() { SelectorDimFilter selectorDimFilter = new SelectorDimFilter("abc", "d", null); RegexDimExtractionFn regexFn = new RegexDimExtractionFn(".*", false, null); SelectorDimFilter selectorDimFilter2 = new SelectorDimFilter("abc", "d", regexFn); Assert.assertNotEquals(selectorDimFilter.hashCode(), selectorDimFilter2.hashCode()); }
@Test public void testGetRequiredColumns() { SelectorDimFilter selectorDimFilter = new SelectorDimFilter("abc", "d", null); Assert.assertEquals(selectorDimFilter.getRequiredColumns(), Sets.newHashSet("abc")); } }
@Test public void testToString() { SelectorDimFilter selectorDimFilter = new SelectorDimFilter("abc", "d", null); RegexDimExtractionFn regexFn = new RegexDimExtractionFn(".*", false, null); SelectorDimFilter selectorDimFilter2 = new SelectorDimFilter("abc", "d", regexFn); Assert.assertEquals("abc = d", selectorDimFilter.toString()); Assert.assertEquals("regex(/.*/, 1)(abc) = d", selectorDimFilter2.toString()); }
selector, sourceRowSignature.naturalStringComparator( SimpleExtraction.of(selector.getDimension(), selector.getExtractionFn()) values.add(selector.getValue()); if (!children.remove(selector)) { throw new ISE("WTF?! Tried to remove selector but couldn't?");
@Override public DimFilter optimize() { return new SelectorDimFilter(dimension, value, extractionFn).optimize(); }
selector, sourceRowSignature.naturalStringComparator( SimpleExtraction.of(selector.getDimension(), selector.getExtractionFn()) values.add(selector.getValue()); if (!children.remove(selector)) { throw new ISE("WTF?! Tried to remove selector but couldn't?");
public TimeseriesQueryBuilder filters(String dimensionName, String value) { dimFilter = new SelectorDimFilter(dimensionName, value, null); return this; }
@Benchmark @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) public void readWithExFnPreFilter(Blackhole blackhole) { Filter filter = new SelectorDimFilter("dimSequential", "super-199", JS_EXTRACTION_FN).toFilter(); StorageAdapter sa = new QueryableIndexStorageAdapter(qIndex); Sequence<Cursor> cursors = makeCursors(sa, filter); readCursors(cursors, blackhole); }
@Override public RangeSet<String> getDimensionRangeSet(String dimension) { if (!Objects.equals(getDimension(), dimension) || getExtractionFn() != null) { return null; } RangeSet<String> retSet = TreeRangeSet.create(); String valueEquivalent = NullHandling.nullToEmptyIfNeeded(value); if (valueEquivalent == null) { // Case when SQL compatible null handling is enabled // Nulls are less than empty String in segments retSet.add(Range.lessThan("")); } else { retSet.add(Range.singleton(valueEquivalent)); } return retSet; }
public TimeBoundaryQueryBuilder filters(String dimensionName, String value) { dimFilter = new SelectorDimFilter(dimensionName, value, null); return this; }
@Test public void testEmpty() { Filter extractionFilter = new SelectorDimFilter("foo", "NFDJUKFNDSJFNS", DIM_EXTRACTION_FN).toFilter(); ImmutableBitmap immutableBitmap = extractionFilter.getBitmapIndex(BITMAP_INDEX_SELECTOR); Assert.assertEquals(0, immutableBitmap.size()); }
public static BoundRefKey from(SelectorDimFilter filter, StringComparator comparator) { return new BoundRefKey( filter.getDimension(), filter.getExtractionFn(), comparator ); }
public SearchQueryBuilder filters(String dimensionName, String value) { dimFilter = new SelectorDimFilter(dimensionName, value, null); return this; }
@Test public void testNormal() { Filter extractionFilter = new SelectorDimFilter("foo", "extractDimVal", DIM_EXTRACTION_FN).toFilter(); ImmutableBitmap immutableBitmap = extractionFilter.getBitmapIndex(BITMAP_INDEX_SELECTOR); Assert.assertEquals(1, immutableBitmap.size()); }