@Override public LookbackQuery withIntervals(Collection<Interval> intervals) { return new LookbackQuery( new QueryDataSource(getInnerQueryUnchecked().withIntervals(intervals)), granularity, filter, aggregations, postAggregations, intervals, context, true, lookbackOffsets, lookbackPrefixes, having, limitSpec ); }
/** * Update the postAggregations of the nested inner query. The PostAggregations of the LookbackQuery(outer query) * remain unchanged * * @param postAggregations A Collection of PostAggregations * * @return A LookbackQuery whose datasource is built using the provided postAggregations */ public LookbackQuery withInnerQueryPostAggregations(Collection<PostAggregation> postAggregations) { return new LookbackQuery(new QueryDataSource(getInnerQueryUnchecked().withPostAggregations(postAggregations)), granularity, filter, aggregations, getLookbackPostAggregations(), intervals, context, false, lookbackOffsets, lookbackPrefixes, having, limitSpec); }
@Override public SqlAggregationQuery withInnermostDataSource(DataSource dataSource) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return !innerQuery.isPresent() ? withDataSource(dataSource) : withDataSource(new QueryDataSource(innerQuery.get().withInnermostDataSource(dataSource))); }
@Override public GroupByQuery withInnermostDataSource(DataSource dataSource) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return !innerQuery.isPresent() ? withDataSource(dataSource) : withDataSource(new QueryDataSource(innerQuery.get().withInnermostDataSource(dataSource))); }
@Override public SqlAggregationQuery withAllIntervals(Collection<Interval> intervals) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return !innerQuery.isPresent() ? withIntervals(intervals) : withDataSource(new QueryDataSource(innerQuery.get().withAllIntervals(intervals))).withIntervals(intervals); }
@Override public LookbackQuery withAllIntervals(Collection<Interval> intervals) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return !innerQuery.isPresent() ? withIntervals(intervals) : withDataSource(new QueryDataSource(innerQuery.get().withAllIntervals(intervals))).withIntervals(intervals); }
@Override public GroupByQuery withAllIntervals(Collection<Interval> intervals) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return !innerQuery.isPresent() ? withIntervals(intervals) : withDataSource(new QueryDataSource(innerQuery.get().withAllIntervals(intervals))).withIntervals(intervals); }
@Override public LookbackQuery withInnermostDataSource(DataSource dataSource) { Optional<DruidFactQuery<?>> innerQuery = (Optional<DruidFactQuery<?>>) this.dataSource.getQuery(); return (innerQuery == null) ? withDataSource(dataSource) : withDataSource(new QueryDataSource(innerQuery.get().withInnermostDataSource(dataSource))); }
@Override public LookbackQuery withFilter(Filter filter) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withFilter(filter))); }
@Override public LookbackQuery withAggregations(Collection<Aggregation> aggregations) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withAggregations(aggregations))); }
@Override public LookbackQuery withGranularity(Granularity granularity) { return withDataSource(new QueryDataSource(getInnerQueryUnchecked().withGranularity(granularity))); }
(LimitSpec) null ); dataSource = new QueryDataSource(query);
stripColumnsFromLimitSpec(innerQuery) ); return new QueryDataSource(inner); case TOP_N: TopNQuery topNQuery = (TopNQuery) innerQuery; null ); return new QueryDataSource(transformed); default: return null;