This is an automated email from the ASF dual-hosted git repository. mbudiu pushed a commit to branch issue2067 in repository https://gitbox.apache.org/repos/asf/calcite.git
commit f018bbb58c79911087245ae5eb4a153d5455c81b Author: Mihai Budiu <[email protected]> AuthorDate: Thu Feb 1 03:24:38 2024 -0800 Fix Druid plans Signed-off-by: Mihai Budiu <[email protected]> --- .../test/java/org/apache/calcite/test/DruidAdapter2IT.java | 12 +++++++++--- .../test/java/org/apache/calcite/test/DruidAdapterIT.java | 6 +++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java b/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java index 4e149efd93..97cfafe68e 100644 --- a/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java +++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapter2IT.java @@ -2634,7 +2634,10 @@ public class DruidAdapter2IT { + "from \"foodmart\" " + "where cast(\"product_id\" as double) = 1016.0"; final String plan = "PLAN=EnumerableInterpreter\n" - + " DruidQuery(table=[[foodmart, foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], filter=[=(CAST($1):DOUBLE, 1016.0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; + + " DruidQuery(table=[[foodmart, foodmart]], " + + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], " + + "filter=[=(CAST($1):DOUBLE, 1016.0E0)], " + + "projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; final String druidQuery = "{'queryType':'timeseries','dataSource':'foodmart','descending':false,'granularity':'all'," + "'filter':{'type':'bound','dimension':'product_id','lower':'1016.0'," @@ -2660,7 +2663,10 @@ public class DruidAdapter2IT { + "from \"foodmart\" " + "where cast(\"product_id\" as double) <> 1016.0"; final String plan = "PLAN=EnumerableInterpreter\n" - + " DruidQuery(table=[[foodmart, foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], filter=[<>(CAST($1):DOUBLE, 1016.0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; + + " DruidQuery(table=[[foodmart, foodmart]], " + + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], " + + "filter=[<>(CAST($1):DOUBLE, 1016.0E0)], " + + "projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; final String druidQuery = "{'queryType':'timeseries','dataSource':'foodmart','descending':false,'granularity':'all'," + "'filter':{'type':'not','field':{'type':'bound','dimension':'product_id','" @@ -3078,7 +3084,7 @@ public class DruidAdapter2IT { final String plan = "PLAN=EnumerableInterpreter\n" + " DruidQuery(table=[[foodmart, foodmart]], " + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]]," - + " filter=[=(FLOOR($90), 23)], groups=[{}], aggs=[[COUNT()]]"; + + " filter=[=(FLOOR($90), 23.0E0)], groups=[{}], aggs=[[COUNT()]]"; sql(sql) .returnsOrdered("EXPR$0=2") .explainContains(plan) 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 5b34a9c7b1..ca303fdfeb 100644 --- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java +++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java @@ -3124,7 +3124,7 @@ public class DruidAdapterIT { + "where cast(\"product_id\" as double) = 1016.0"; final String plan = "PLAN=EnumerableInterpreter\n" + " DruidQuery(table=[[foodmart, foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], " - + "filter=[=(CAST($1):DOUBLE, 1016.0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; + + "filter=[=(CAST($1):DOUBLE, 1016.0E0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; final String druidQuery = "{'queryType':'timeseries','dataSource':'foodmart','descending':false,'granularity':'all'," + "'filter':{'type':'bound','dimension':'product_id','lower':'1016.0'," @@ -3151,7 +3151,7 @@ public class DruidAdapterIT { + "where cast(\"product_id\" as double) <> 1016.0"; final String plan = "PLAN=EnumerableInterpreter\n" + " DruidQuery(table=[[foodmart, foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], " - + "filter=[<>(CAST($1):DOUBLE, 1016.0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; + + "filter=[<>(CAST($1):DOUBLE, 1016.0E0)], projects=[[$91]], groups=[{}], aggs=[[SUM($0)]])"; final String druidQuery = "{'queryType':'timeseries','dataSource':'foodmart','descending':false,'granularity':'all'," + "'filter':{'type':'not','field':{'type':'bound','dimension':'product_id','" @@ -3725,7 +3725,7 @@ public class DruidAdapterIT { final String plan = "PLAN=EnumerableInterpreter\n" + " DruidQuery(table=[[foodmart, foodmart]], " + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]]," - + " filter=[=(FLOOR($90), 23)], groups=[{}], aggs=[[COUNT()]]"; + + " filter=[=(FLOOR($90), 23.0E0)], groups=[{}], aggs=[[COUNT()]]"; sql(sql, FOODMART) .returnsOrdered("EXPR$0=2") .explainContains(plan)
