[CALCITE-1722] Druid adapter uses un-scaled value of DECIMAL literals (Slim Bouguerra)
Close apache/calcite#411 Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/ecc1623f Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/ecc1623f Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/ecc1623f Branch: refs/heads/master Commit: ecc1623fb3a4e7ae277d4f673437e9a852a0a2c9 Parents: aa0bf32 Author: Jesus Camacho Rodriguez <[email protected]> Authored: Mon Mar 27 20:07:07 2017 +0100 Committer: Jesus Camacho Rodriguez <[email protected]> Committed: Mon Mar 27 20:14:41 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/calcite/adapter/druid/DruidQuery.java | 2 +- .../test/java/org/apache/calcite/test/DruidAdapterIT.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/ecc1623f/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java ---------------------------------------------------------------------- diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java index 9378e47..f8211a4 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java @@ -906,7 +906,7 @@ public class DruidQuery extends AbstractRelNode implements BindableRel { return tr(e, 0, set); case LITERAL: - return ((RexLiteral) e).getValue2().toString(); + return ((RexLiteral) e).getValue3().toString(); case FLOOR: final RexCall call = (RexCall) e; http://git-wip-us.apache.org/repos/asf/calcite/blob/ecc1623f/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 312ff63..e673c9c 100644 --- a/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java +++ b/druid/src/test/java/org/apache/calcite/test/DruidAdapterIT.java @@ -1496,6 +1496,14 @@ public class DruidAdapterIT { sql(sql).queryContains(druidChecker("{\"queryType\":\"select\"")); } + @Test public void testFilterOnDouble() { + String sql = "select \"product_id\" from \"foodmart\"\n" + + "where cast(\"product_id\" as double) < 0.41024 and \"product_id\" < 12223"; + sql(sql).queryContains( + druidChecker("\"type\":\"bound\",\"dimension\":\"product_id\",\"upper\":\"0.41024\"", + "\"upper\":\"12223\"")); + } + } // End DruidAdapterIT.java
