This is an automated email from the ASF dual-hosted git repository. himanshug pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push: new 0493780 discard filter when processing subtotalsSpec (#7827) 0493780 is described below commit 04937807992417103fb612d9faa059281e11d582 Author: Himanshu <g.himan...@gmail.com> AuthorDate: Tue Jun 4 10:59:22 2019 -0700 discard filter when processing subtotalsSpec (#7827) --- .../query/groupby/strategy/GroupByStrategyV2.java | 2 +- .../query/groupby/GroupByQueryRunnerTest.java | 90 ++++++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV2.java b/processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV2.java index 7a5f6e8..cd69883 100644 --- a/processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV2.java +++ b/processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV2.java @@ -390,7 +390,7 @@ public class GroupByStrategyV2 implements GroupByStrategy final List<Closeable> closeOnExit = new ArrayList<>(); try { - GroupByQuery queryWithoutSubtotalsSpec = query.withSubtotalsSpec(null); + GroupByQuery queryWithoutSubtotalsSpec = query.withSubtotalsSpec(null).withDimFilter(null); List<List<String>> subtotals = query.getSubtotalsSpec(); Supplier<Grouper> grouperSupplier = Suppliers.memoize( diff --git a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java index 36b7994..27d0da9 100644 --- a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java +++ b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java @@ -6787,6 +6787,96 @@ public class GroupByQueryRunnerTest TestHelper.assertExpectedObjects(expectedResults, results, "subtotal"); } + // https://github.com/apache/incubator-druid/issues/7820 + @Test + public void testGroupByWithSubtotalsSpecWithRenamedDimensionAndFilter() + { + if (!config.getDefaultStrategy().equals(GroupByStrategySelector.STRATEGY_V2)) { + return; + } + + GroupByQuery query = GroupByQuery + .builder() + .setDataSource(QueryRunnerTestHelper.dataSource) + .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird) + .setVirtualColumns(new ExpressionVirtualColumn("alias", "quality", ValueType.STRING, TestExprMacroTable.INSTANCE)) + .setDimensions(Lists.newArrayList( + new DefaultDimensionSpec("quality", "quality"), + new DefaultDimensionSpec("market", "market"), + new DefaultDimensionSpec("alias", "alias_renamed") + )) + .setAggregatorSpecs( + Arrays.asList( + QueryRunnerTestHelper.rowsCount, + new LongSumAggregatorFactory("idx", "index"), + new FloatSumAggregatorFactory("idxFloat", "indexFloat"), + new DoubleSumAggregatorFactory("idxDouble", "index") + ) + ) + .setDimFilter(new SelectorDimFilter("alias", "automotive", null)) + .setGranularity(QueryRunnerTestHelper.dayGran) + .setSubtotalsSpec(ImmutableList.of( + ImmutableList.of("alias_renamed"), + ImmutableList.of() + )) + .build(); + + List<Row> expectedResults = Arrays.asList( + GroupByQueryRunnerTestHelper.createExpectedRow( + "2011-04-01", + "alias_renamed", + "automotive", + "rows", + 1L, + "idx", + 135L, + "idxFloat", + 135.88510131835938f, + "idxDouble", + 135.88510131835938d + ), + GroupByQueryRunnerTestHelper.createExpectedRow( + "2011-04-02", + "alias_renamed", + "automotive", + "rows", + 1L, + "idx", + 147L, + "idxFloat", + 147.42593f, + "idxDouble", + 147.42593d + ), + + GroupByQueryRunnerTestHelper.createExpectedRow( + "2011-04-01T00:00:00.000Z", + "rows", + 1L, + "idx", + 135L, + "idxFloat", + 135.88510131835938f, + "idxDouble", + 135.88510131835938d + ), + GroupByQueryRunnerTestHelper.createExpectedRow( + "2011-04-02T00:00:00.000Z", + "rows", + 1L, + "idx", + 147L, + "idxFloat", + 147.42593f, + "idxDouble", + 147.42593d + ) + ); + + Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query); + TestHelper.assertExpectedObjects(expectedResults, results, "subtotal"); + } + @Test public void testGroupByWithSubtotalsSpecWithLongDimensionColumn() { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org