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 c0a78fd42bf1d776e7215e620621647042419ed1
Author: Mihai Budiu <[email protected]>
AuthorDate: Thu Apr 18 15:23:46 2024 -0700

    Arrow support for FP literals
    
    Signed-off-by: Mihai Budiu <[email protected]>
---
 .../src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java | 2 ++
 .../test/java/org/apache/calcite/adapter/arrow/ArrowAdapterTest.java    | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java 
b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
index 0015471d14..d531e333cf 100644
--- a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
+++ b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowTranslator.java
@@ -228,6 +228,8 @@ class ArrowTranslator {
       }
     } else if (String.class.equals(literal.getClass())) {
       return "string";
+    } else if (literal instanceof Double) {
+      return "float";
     }
     throw new UnsupportedOperationException("Unsupported literal " + literal);
   }
diff --git 
a/arrow/src/test/java/org/apache/calcite/adapter/arrow/ArrowAdapterTest.java 
b/arrow/src/test/java/org/apache/calcite/adapter/arrow/ArrowAdapterTest.java
index d48576a117..349d85a4c4 100644
--- a/arrow/src/test/java/org/apache/calcite/adapter/arrow/ArrowAdapterTest.java
+++ b/arrow/src/test/java/org/apache/calcite/adapter/arrow/ArrowAdapterTest.java
@@ -373,7 +373,7 @@ class ArrowAdapterTest {
     String sql = "select * from arrowdata\n"
         + " where \"floatField\"=15.0";
     String plan = "PLAN=ArrowToEnumerableConverter\n"
-        + "  ArrowFilter(condition=[=(CAST($2):DOUBLE, 15.0)])\n"
+        + "  ArrowFilter(condition=[=(CAST($2):DOUBLE, 15.0E0)])\n"
         + "    ArrowTableScan(table=[[ARROW, ARROWDATA]], fields=[[0, 1, 2, 
3]])\n\n";
     String result = "intField=15; stringField=15; floatField=15.0; 
longField=15\n";
 

Reply via email to