@Override public TopNQuery withOverriddenContext(Map<String, Object> contextOverrides) { return new TopNQueryBuilder(this).context(computeOverriddenContext(getContext(), contextOverrides)).build(); }
@Deprecated public TopNQueryBuilder copy(TopNQueryBuilder builder) { return new TopNQueryBuilder() .dataSource(builder.dataSource) .virtualColumns(builder.virtualColumns) .dimension(builder.dimensionSpec) .metric(builder.topNMetricSpec) .threshold(builder.threshold) .intervals(builder.querySegmentSpec) .filters(builder.dimFilter) .granularity(builder.granularity) .aggregators(builder.aggregatorSpecs) .postAggregators(builder.postAggregatorSpecs) .context(builder.context); }
.context(ImmutableMap.of("chunkPeriod", "P1D")) .build();
.context(ImmutableMap.of("finalize", true, "bySegment", true)) .build(); TopNResultValue topNResult = new TopNResultValue(
.metric(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC)) .threshold(10) .context(QUERY_CONTEXT_DEFAULT) .build() ),
@Test public void testSelectDistinctWithSortAsOuterQuery2() throws Exception { testQuery( "SELECT * FROM (SELECT DISTINCT dim2 FROM druid.foo ORDER BY dim2 LIMIT 5) LIMIT 10", ImmutableList.of( new TopNQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(QSS(Filtration.eternity())) .granularity(Granularities.ALL) .dimension(new DefaultDimensionSpec("dim2", "d0")) .metric(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC)) .threshold(5) .context(QUERY_CONTEXT_DEFAULT) .build() ), NullHandling.replaceWithDefault() ? ImmutableList.of( new Object[]{""}, new Object[]{"a"}, new Object[]{"abc"} ) : ImmutableList.of( new Object[]{null}, new Object[]{""}, new Object[]{"a"}, new Object[]{"abc"} ) ); }
@Test public void testSelectDistinctWithSortAsOuterQuery() throws Exception { testQuery( "SELECT * FROM (SELECT DISTINCT dim2 FROM druid.foo ORDER BY dim2) LIMIT 10", ImmutableList.of( new TopNQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(QSS(Filtration.eternity())) .granularity(Granularities.ALL) .dimension(new DefaultDimensionSpec("dim2", "d0")) .metric(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC)) .threshold(10) .context(QUERY_CONTEXT_DEFAULT) .build() ), NullHandling.replaceWithDefault() ? ImmutableList.of( new Object[]{""}, new Object[]{"a"}, new Object[]{"abc"} ) : ImmutableList.of( new Object[]{null}, new Object[]{""}, new Object[]{"a"}, new Object[]{"abc"} ) ); }
.metric(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC)) .threshold(10) .context(QUERY_CONTEXT_DEFAULT) .build() ),
@Test public void testSelectDistinctWithSortAsOuterQuery4() throws Exception { testQuery( "SELECT * FROM (SELECT DISTINCT dim2 FROM druid.foo ORDER BY dim2 DESC LIMIT 5) LIMIT 10", ImmutableList.of( new TopNQueryBuilder() .dataSource(CalciteTests.DATASOURCE1) .intervals(QSS(Filtration.eternity())) .granularity(Granularities.ALL) .dimension(new DefaultDimensionSpec("dim2", "d0")) .metric(new InvertedTopNMetricSpec(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC))) .threshold(5) .context(QUERY_CONTEXT_DEFAULT) .build() ), NullHandling.replaceWithDefault() ? ImmutableList.of( new Object[]{""}, new Object[]{"abc"}, new Object[]{"a"} ) : ImmutableList.of( new Object[]{null}, new Object[]{"abc"}, new Object[]{"a"}, new Object[]{""} ) ); }
.metric(new NumericTopNMetricSpec("p1")) .threshold(10) .context(QUERY_CONTEXT_DEFAULT) .build() ),
.aggregators(AGGS) .postAggregators(POST_AGGS) .context(CONTEXT);
.aggregators(QueryRunnerTestHelper.commonDoubleAggregators); TopNQuery query1 = builder.threshold(10).context(null).build(); MockQueryRunner mockRunner = new MockQueryRunner(runner); new TopNQueryQueryToolChest.ThresholdAdjustingQueryRunner(mockRunner, config).run( Assert.assertEquals(1000, mockRunner.query.getThreshold()); TopNQuery query2 = builder.threshold(10).context(context).build(); Assert.assertEquals(500, mockRunner.query.getThreshold()); TopNQuery query3 = builder.threshold(2000).context(context).build(); new TopNQueryQueryToolChest.ThresholdAdjustingQueryRunner(mockRunner, config) .run(QueryPlus.wrap(query3), ImmutableMap.of());
.aggregators(commonAggregators) .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant)) .context(specialContext) .build();
.context(QUERY_CONTEXT_DEFAULT) .build() ),
.context(QUERY_CONTEXT_DEFAULT) .build() ),
.metric(new NumericTopNMetricSpec("a0")) .threshold(2) .context(QUERY_CONTEXT_DEFAULT) .build(), GroupByQuery.builder()
.metric(new NumericTopNMetricSpec("a0")) .threshold(2) .context(QUERY_CONTEXT_DEFAULT) .build(), GroupByQuery.builder()
.aggregators(AGGS) .postAggregators(POST_AGGS) .context(CONTEXT);
.aggregators(AGGS) .postAggregators(POST_AGGS) .context(CONTEXT);
.aggregators(AGGS) .postAggregators(POST_AGGS) .context(CONTEXT);