topNMetricSpec = limitColumn.getDirection() == OrderByColumnSpec.Direction.ASCENDING ? baseMetricSpec : new InvertedTopNMetricSpec(baseMetricSpec); } else if (plannerContext.getPlannerConfig().isUseApproximateTopN()) { ? new InvertedTopNMetricSpec(baseMetricSpec) : baseMetricSpec; } else {
@Override public <T> TopNMetricSpecBuilder<T> configureOptimizer(TopNMetricSpecBuilder<T> builder) { if (!canBeOptimizedUnordered()) { return builder; } return delegate.configureOptimizer(builder); }
.granularity(QueryRunnerTestHelper.allGran) .dimension(QueryRunnerTestHelper.marketDimension) .metric(new InvertedTopNMetricSpec(new NumericTopNMetricSpec(QueryRunnerTestHelper.indexMetric))) .threshold(3) .intervals(QueryRunnerTestHelper.firstToThird)
@Override public <T> TopNMetricSpecBuilder<T> configureOptimizer(TopNMetricSpecBuilder<T> builder) { if (!canBeOptimizedUnordered()) { return builder; } return delegate.configureOptimizer(builder); }
.granularity(QueryRunnerTestHelper.allGran) .dimension(QueryRunnerTestHelper.marketDimension) .metric(new InvertedTopNMetricSpec(new DimensionTopNMetricSpec("u", StringComparators.LEXICOGRAPHIC))) .threshold(4) .intervals(QueryRunnerTestHelper.firstToThird)
.granularity(QueryRunnerTestHelper.allGran) .dimension(QueryRunnerTestHelper.marketDimension) .metric(new InvertedTopNMetricSpec(new DimensionTopNMetricSpec("upfront", StringComparators.LEXICOGRAPHIC))) .threshold(4) .intervals(QueryRunnerTestHelper.firstToThird)
.metric(new InvertedTopNMetricSpec(new DimensionTopNMetricSpec(null, StringComparators.LEXICOGRAPHIC))) .threshold(4) .intervals(QueryRunnerTestHelper.firstToThird)
@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 InvertedTopNMetricSpec(new DimensionTopNMetricSpec("u", StringComparators.LEXICOGRAPHIC))) .threshold(4) .intervals(QueryRunnerTestHelper.firstToThird)
.metric(new InvertedTopNMetricSpec(new DimensionTopNMetricSpec("p", StringComparators.LEXICOGRAPHIC))) .threshold(4) .intervals(QueryRunnerTestHelper.firstToThird)
.granularity(Granularities.ALL) .dimension(new DefaultDimensionSpec("dim1", "d0")) .metric(new InvertedTopNMetricSpec(new NumericTopNMetricSpec("p0"))) .aggregators(AGGS( new FloatMinAggregatorFactory("a0", "m1"),
topNMetricSpec = limitColumn.getDirection() == OrderByColumnSpec.Direction.ASCENDING ? baseMetricSpec : new InvertedTopNMetricSpec(baseMetricSpec); } else if (plannerContext.getPlannerConfig().isUseApproximateTopN()) { ? new InvertedTopNMetricSpec(baseMetricSpec) : baseMetricSpec; } else {