You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2017/12/29 21:18:48 UTC
calcite git commit: [CALCITE-2114] Enable
DruidAggregateFilterTransposeRule (Nishant Bangarwa)
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 <ni...@gmail.com>
Authored: Sat Dec 30 00:12:38 2017 +0530
Committer: Julian Hyde <jh...@apache.org>
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() {