@Override public Optional<? extends DruidAggregationQuery> getInnerQuery() { return (Optional<? extends DruidAggregationQuery>) this.dataSource.getQuery(); }
/** * Get the query that defines the data source. Empty queries become null for serialization. * * @return the serializable version of the query. */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("query") private DruidQuery<?> getQueryForSerialization() { return getQuery().orElse(null); }
/** * If this query is nestable, and has a nested query return it. * * @return the nested query or empty if there is no nested query */ @JsonIgnore default Optional<? extends DruidQuery> getInnerQuery() { return getDataSource().getQuery(); }
@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 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 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 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 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 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); }