Repository: drill Updated Branches: refs/heads/master 53d09a0b9 -> 8d7458958
DRILL-3378: Don't invoke ensureType() while rewriting aggregate expressions part of the window frame. ensureType() currently is not aware of the precedence of data types and may inject a downward cast, causing wrong results. Bump Calcite version to r11 Project: http://git-wip-us.apache.org/repos/asf/drill/repo Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/8d745895 Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/8d745895 Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/8d745895 Branch: refs/heads/master Commit: 8d7458958c92369b5d40145d621ed50e3b8de1a4 Parents: 53d09a0 Author: Mehant Baid <meha...@gmail.com> Authored: Fri Jun 26 18:04:47 2015 -0700 Committer: Mehant Baid <meha...@gmail.com> Committed: Sat Jun 27 01:22:29 2015 -0700 ---------------------------------------------------------------------- .../drill/exec/planner/sql/DrillAvgVarianceConvertlet.java | 5 +---- .../java/org/apache/drill/exec/TestWindowFunctions.java | 9 +++++++++ pom.xml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/drill/blob/8d745895/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillAvgVarianceConvertlet.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillAvgVarianceConvertlet.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillAvgVarianceConvertlet.java index 4c0618d..046b5ab 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillAvgVarianceConvertlet.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillAvgVarianceConvertlet.java @@ -69,10 +69,7 @@ public class DrillAvgVarianceConvertlet implements SqlRexConvertlet { default: throw Util.unexpected(subtype); } - RelDataType type = - cx.getValidator().getValidatedNodeType(call); - RexNode rex = cx.convertExpression(expr); - return cx.getRexBuilder().ensureType(type, rex, true); + return cx.convertExpression(expr); } private SqlNode expandAvg( http://git-wip-us.apache.org/repos/asf/drill/blob/8d745895/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java index 680f35b..66148f3 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java @@ -316,6 +316,15 @@ public class TestWindowFunctions extends BaseTestQuery { .baselineValues(2147483649l) .go(); + final String avgQuery = "select avg(cast(col_int as int)) over (partition by col_varchar) as col1 " + + "from cp.`jsoninput/large_int.json` limit 1"; + + testBuilder() + .sqlQuery(avgQuery) + .unOrdered() + .baselineColumns("col1") + .baselineValues(1.0737418245E9d) + .go(); } @Test http://git-wip-us.apache.org/repos/asf/drill/blob/8d745895/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 9f61247..772192b 100644 --- a/pom.xml +++ b/pom.xml @@ -1226,7 +1226,7 @@ <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> - <version>1.1.0-drill-r9</version> + <version>1.1.0-drill-r11</version> <exclusions> <exclusion> <groupId>org.jgrapht</groupId>