@Override public List<Interval> getIntervals() { return querySegmentSpec.getIntervals(); }
@Override public QueryRunner<T> getRunner(QuerySegmentWalker walker) { return ((BaseQuery) query).getQuerySegmentSpec().lookup(this, walker); }
@Override public List<Interval> getIntervals() { return this.getQuerySegmentSpec().getIntervals(); }
@Override public QueryRunner<T> getRunner(QuerySegmentWalker walker) { return getQuerySegmentSpecForLookUp(this).lookup(this, walker); }
@Override public Duration getDuration() { if (duration == null) { Duration totalDuration = new Duration(0); for (Interval interval : querySegmentSpec.getIntervals()) { if (interval != null) { totalDuration = totalDuration.plus(interval.toDuration()); } } duration = totalDuration; } return duration; }
query.getQuerySegmentSpec().lookup(query, realtimeManager3), query );
protected SearchStrategy(SearchQuery query) { this.filter = Filters.convertToCNFFromQueryContext(query, Filters.toFilter(query.getDimensionsFilter())); final List<Interval> intervals = query.getQuerySegmentSpec().getIntervals(); if (intervals.size() != 1) { throw new IAE("Should only have one interval, got[%s]", intervals); } this.interval = intervals.get(0); }
@Override public QueryRunner<T> getRunner(QuerySegmentWalker walker) { return getQuerySegmentSpecForLookUp(this).lookup(this, walker); }
private DateTime getTimeBoundary(StorageAdapter adapter, TimeBoundaryQuery legacyQuery, boolean descending) { final Sequence<Result<DateTime>> resultSequence = QueryRunnerHelper.makeCursorBasedQuery( adapter, legacyQuery.getQuerySegmentSpec().getIntervals(), Filters.toFilter(legacyQuery.getFilter()), VirtualColumns.EMPTY, descending, Granularities.ALL, this.skipToFirstMatching ); final List<Result<DateTime>> resultList = resultSequence.limit(1).toList(); if (resultList.size() > 0) { return resultList.get(0).getValue(); } return null; }
final List<Interval> intervals = query.getQuerySegmentSpec().getIntervals(); Preconditions.checkArgument(intervals.size() == 1, "Can only handle a single interval, got[%s]", intervals);
@Test public void testSerializationLegacyString() throws Exception { QuerySegmentSpec spec = jsonMapper.readValue( "\"2011-10-01/2011-10-10,2011-11-01/2011-11-10\"", QuerySegmentSpec.class ); Assert.assertTrue(spec instanceof LegacySegmentSpec); Assert.assertEquals( ImmutableList.of(Intervals.of("2011-10-01/2011-10-10"), Intervals.of("2011-11-01/2011-11-10")), spec.getIntervals() ); }
@Test public void testSerializationLegacyArray() throws Exception { QuerySegmentSpec spec = jsonMapper.readValue( "[\"2011-09-01/2011-10-10\", \"2011-11-01/2011-11-10\"]", QuerySegmentSpec.class ); Assert.assertTrue(spec instanceof LegacySegmentSpec); Assert.assertEquals( ImmutableList.of(Intervals.of("2011-09-01/2011-10-10"), Intervals.of("2011-11-01/2011-11-10")), spec.getIntervals() ); }
final List<Interval> queryIntervals = query.getQuerySegmentSpec().getIntervals(); final Filter filter = Filters.convertToCNFFromQueryContext(query, Filters.toFilter(query.getDimensionsFilter())); final Granularity granularity = query.getGranularity();
@Test public void testSerializationIntervals() throws Exception { QuerySegmentSpec spec = jsonMapper.readValue( "{\"type\": \"intervals\", \"intervals\":[\"2011-08-01/2011-10-10\", \"2011-11-01/2011-11-10\"]}", QuerySegmentSpec.class ); Assert.assertTrue(spec instanceof MultipleIntervalSegmentSpec); Assert.assertEquals( ImmutableList.of(Intervals.of("2011-08-01/2011-10-10"), Intervals.of("2011-11-01/2011-11-10")), spec.getIntervals() ); }
metrics = query.getMetrics(); List<Interval> intervals = query.getQuerySegmentSpec().getIntervals(); Preconditions.checkArgument(intervals.size() == 1, "Can only handle a single interval, got[%s]", intervals); query.getQuerySegmentSpec().getIntervals(), filter, query.getVirtualColumns(),
query.getQuerySegmentSpec().getIntervals(), filter, query.getVirtualColumns(),
final List<Interval> intervals = query.getQuerySegmentSpec().getIntervals(); if (intervals.size() != 1) { throw new IAE("Should only have one interval, got[%s]", intervals);
final List<Interval> intervals = query.getQuerySegmentSpec().getIntervals(); if (intervals.size() != 1) { throw new IAE("Should only have one interval, got[%s]", intervals);
Assert.assertEquals( ImmutableList.of(Intervals.of("2011-07-01/2011-10-10"), Intervals.of("2011-11-01/2011-11-10")), spec.getIntervals() ); Assert.assertEquals(
Assert.assertEquals(QueryRunnerTestHelper.dataSource, actualEvent.get(DruidMetrics.DATASOURCE)); Assert.assertEquals(query.getType(), actualEvent.get(DruidMetrics.TYPE)); List<Interval> expectedIntervals = QueryRunnerTestHelper.fullOnIntervalSpec.getIntervals(); List<String> expectedStringIntervals = expectedIntervals.stream().map(Interval::toString).collect(Collectors.toList());