Repository: calcite Updated Branches: refs/heads/master 879139fc6 -> 458e2e1b2
[CALCITE-2114] Enable DruidAggregateFilterTransposeRule (Nishant Bangarwa) Close apache/calcite#595 Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/458e2e1b Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/458e2e1b Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/458e2e1b Branch: refs/heads/master Commit: 458e2e1b23c50fb8bb6e4673e06fdf64957362d4 Parents: 879139f Author: Nishant <[email protected]> Authored: Sat Dec 30 00:12:38 2017 +0530 Committer: Julian Hyde <[email protected]> Committed: Fri Dec 29 12:02:55 2017 -0800 ---------------------------------------------------------------------- .../org/apache/calcite/adapter/druid/DruidRules.java | 5 +---- .../java/org/apache/calcite/test/DruidAdapterIT.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/458e2e1b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java ---------------------------------------------------------------------- diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java index ae0f8fb..f2e931d 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java @@ -114,10 +114,7 @@ public class DruidRules { public static final List<RelOptRule> RULES = ImmutableList.of(FILTER, PROJECT_FILTER_TRANSPOSE, - // Disabled, per - // [CALCITE-1706] DruidAggregateFilterTransposeRule - // causes very fine-grained aggregations to be pushed to Druid - // AGGREGATE_FILTER_TRANSPOSE, + AGGREGATE_FILTER_TRANSPOSE, AGGREGATE_PROJECT, PROJECT, POST_AGGREGATION_PROJECT, http://git-wip-us.apache.org/repos/asf/calcite/blob/458e2e1b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java ---------------------------------------------------------------------- diff --git a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java index 0b9dc4a..fff466f 100644 --- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java +++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java @@ -2050,13 +2050,16 @@ public class DruidAdapterIT { final String sql = "SELECT \"product_id\"\n" + "from \"foodmart\"\n" + "where \"product_id\" = cast(NULL as varchar)\n" - + "group by \"product_id\""; + + "group by \"product_id\" order by \"product_id\" limit 5"; final String plan = "PLAN=EnumerableInterpreter\n" - + " BindableAggregate(group=[{0}])\n" + + " BindableSort(sort0=[$0], dir0=[ASC], fetch=[5])\n" + " BindableFilter(condition=[=($0, null)])\n" - + " DruidQuery(table=[[foodmart, foodmart]], " - + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], projects=[[$1]])"; - sql(sql).explainContains(plan); + + " DruidQuery(table=[[foodmart, foodmart]], intervals=" + + "[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], groups=[{1}], aggs=[[]])"; + final String query = "{\"queryType\":\"groupBy\""; + sql(sql) + .explainContains(plan) + .queryContains(druidChecker(query)); } @Test public void testFalseFilter() {
