You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by za...@apache.org on 2019/07/26 10:42:58 UTC
[calcite] 02/02: Update stale tests in DruidAdapter
This is an automated email from the ASF dual-hosted git repository.
zabetak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit 689a5bbb14614d3f8eef4a4f7e832c6c02029b3c
Author: Stamatis Zampetakis <za...@gmail.com>
AuthorDate: Fri Jul 26 12:41:29 2019 +0200
Update stale tests in DruidAdapter
1. Adapt plans based on the improvements in the simplifier and elsewhere.
2. Rename DruidAdapterIT2 to DruidAdapterIT to be run in integration tests.
---
.../{DruidAdapterIT2.java => DruidAdapter2IT.java} | 24 +++++++++-------------
.../org/apache/calcite/test/DruidAdapterIT.java | 21 ++++++++-----------
2 files changed, 18 insertions(+), 27 deletions(-)
diff --git a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT2.java b/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java
similarity index 99%
rename from druid/src/test/java/org/apache/calcite/test/DruidAdapterIT2.java
rename to druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java
index 6646492..02b3ad0 100644
--- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT2.java
+++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java
@@ -70,10 +70,10 @@ import static org.junit.Assert.assertTrue;
* <p>These tests use TIMESTAMP type for the Druid timestamp column, instead
* of TIMESTAMP WITH LOCAL TIME ZONE type as {@link DruidAdapterIT}.
*/
-public class DruidAdapterIT2 {
+public class DruidAdapter2IT {
/** URL of the "druid-foodmart" model. */
public static final URL FOODMART =
- DruidAdapterIT2.class.getResource("/druid-foodmart-model-timestamp.json");
+ DruidAdapter2IT.class.getResource("/druid-foodmart-model-timestamp.json");
private static final String VARCHAR_TYPE =
"VARCHAR";
@@ -1672,21 +1672,16 @@ public class DruidAdapterIT2 {
+ "from \"foodmart\"\n"
+ "where \"product_id\" = cast(NULL as varchar)\n"
+ "group by \"product_id\" order by \"product_id\" limit 5";
- final String plan = "PLAN=EnumerableInterpreter\n"
- + " DruidQuery(table=[[foodmart, foodmart]], "
- + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], "
- + "filter=[false], groups=[{1}], aggs=[[]], sort0=[0], dir0=[ASC], fetch=[5])";
- final String query = "{\"queryType\":\"groupBy\"";
- sql(sql)
- .explainContains(plan)
- .queryContains(druidChecker(query));
+ final String plan = "EnumerableValues(tuples=[[]])";
+ sql(sql).explainContains(plan);
}
@Test public void testFalseFilter() {
String sql = "Select count(*) as c from \"foodmart\" where false";
+ final String plan = "EnumerableAggregate(group=[{}], C=[COUNT()])\n"
+ + " EnumerableValues(tuples=[[]])";
sql(sql)
- .queryContains(
- druidChecker("\"filter\":{\"type\":\"expression\",\"expression\":\"1 == 2\"}"))
+ .explainContains(plan)
.returnsUnordered("C=0");
}
@@ -1894,7 +1889,8 @@ public class DruidAdapterIT2 {
+ " DruidQuery(table=[[foodmart, foodmart]], intervals=[[1900-01-09T00:00:00.000Z/"
+ "2992-01-10T00:00:00.000Z]], filter=[AND(=($2, 'Bird Call'), "
+ "OR(=(EXTRACT(FLAG(WEEK), $0), 10), =(EXTRACT(FLAG(WEEK), $0), 11)))], "
- + "projects=[[$0, $2, $63, $90, $91]], groups=[{2}], aggs=[[SUM($3), SUM($4)]], "
+ + "projects=[[$63, $90, $91]], "
+ + "groups=[{0}], aggs=[[SUM($1), SUM($2)]], "
+ "post_projects=[[$0, 'Bird Call', -($1, $2)]])";
sql(sql, FOODMART)
.returnsOrdered("store_state=CA; brand_name=Bird Call; A=34.364599999999996",
@@ -3948,4 +3944,4 @@ public class DruidAdapterIT2 {
}
}
-// End DruidAdapterIT2.java
+// End DruidAdapter2IT.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 6c145d2..c948710 100644
--- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
+++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java
@@ -69,7 +69,7 @@ import static org.junit.Assert.assertTrue;
*
* <p>These tests use TIMESTAMP WITH LOCAL TIME ZONE type for the
* Druid timestamp column, instead of TIMESTAMP type as
- * {@link DruidAdapterIT2}.
+ * {@link DruidAdapter2IT}.
*/
public class DruidAdapterIT {
/** URL of the "druid-foodmart" model. */
@@ -1967,21 +1967,16 @@ public class DruidAdapterIT {
+ "from \"foodmart\"\n"
+ "where \"product_id\" = cast(NULL as varchar)\n"
+ "group by \"product_id\" order by \"product_id\" limit 5";
- final String plan = "PLAN=EnumerableInterpreter\n"
- + " DruidQuery(table=[[foodmart, foodmart]], "
- + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], "
- + "filter=[false], groups=[{1}], aggs=[[]], sort0=[0], dir0=[ASC], fetch=[5])";
- final String query = "{\"queryType\":\"groupBy\"";
- sql(sql)
- .explainContains(plan)
- .queryContains(druidChecker(query));
+ final String plan = "EnumerableValues(tuples=[[]])";
+ sql(sql).explainContains(plan);
}
@Test public void testFalseFilter() {
String sql = "Select count(*) as c from \"foodmart\" where false";
+ final String plan = "EnumerableAggregate(group=[{}], C=[COUNT()])\n"
+ + " EnumerableValues(tuples=[[]])";
sql(sql)
- .queryContains(
- druidChecker("\"filter\":{\"type\":\"expression\",\"expression\":\"1 == 2\"}"))
+ .explainContains(plan)
.returnsUnordered("C=0");
}
@@ -2189,8 +2184,8 @@ public class DruidAdapterIT {
+ " DruidQuery(table=[[foodmart, foodmart]], "
+ "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], "
+ "filter=[AND(=($2, 'Bird Call'), OR(=(EXTRACT(FLAG(WEEK), $0), 10), "
- + "=(EXTRACT(FLAG(WEEK), $0), 11)))], projects=[[$0, $2, $63, $90, $91]], "
- + "groups=[{2}], aggs=[[SUM($3), SUM($4)]], post_projects=[[$0, 'Bird Call', -($1, $2)]])";
+ + "=(EXTRACT(FLAG(WEEK), $0), 11)))], projects=[[$63, $90, $91]], "
+ + "groups=[{0}], aggs=[[SUM($1), SUM($2)]], post_projects=[[$0, 'Bird Call', -($1, $2)]])";
sql(sql, FOODMART)
.returnsOrdered("store_state=CA; brand_name=Bird Call; A=34.364599999999996",
"store_state=OR; brand_name=Bird Call; A=39.16359999999999",