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 <zabe...@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",