This is an automated email from the ASF dual-hosted git repository.

mbudiu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 58aa3caa2a [CALCITE-6637] Date type results should not be 
automatically converted to timestamp in Arrow adapters
58aa3caa2a is described below

commit 58aa3caa2a2c1273e5f1e9fb2aa14f97114c646f
Author: Cancai Cai <[email protected]>
AuthorDate: Sat Oct 19 18:51:09 2024 +0800

    [CALCITE-6637] Date type results should not be automatically converted to 
timestamp in Arrow adapters
---
 .../apache/calcite/adapter/arrow/ArrowFieldType.java   |  2 +-
 .../apache/calcite/adapter/arrow/ArrowAdapterTest.java | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 
a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowFieldType.java 
b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowFieldType.java
index 4cb6c388ef..9a0fa3033d 100644
--- a/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowFieldType.java
+++ b/arrow/src/main/java/org/apache/calcite/adapter/arrow/ArrowFieldType.java
@@ -24,7 +24,7 @@ import org.apache.arrow.vector.types.FloatingPointPrecision;
 import org.apache.arrow.vector.types.pojo.ArrowType;
 
 import java.math.BigDecimal;
-import java.util.Date;
+import java.sql.Date;
 import java.util.List;
 
 import static java.util.Objects.requireNonNull;
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 2098a62e30..8bcd812fa0 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
@@ -826,4 +826,22 @@ class ArrowAdapterTest {
         .returns(result)
         .explainContains(plan);
   }
+
+  /** Test case for
+   * <a 
href="https://issues.apache.org/jira/browse/CALCITE-6637";>[CALCITE-6637]
+   * Date type results should not be automatically converted to timestamp in 
Arrow adapters</a>. */
+  @Test void testDateProject() {
+    String sql = "select HIREDATE from EMP";
+    String plan = "PLAN=ArrowToEnumerableConverter\n"
+        + "  ArrowProject(HIREDATE=[$4])\n"
+        + "    ArrowTableScan(table=[[ARROW, EMP]], fields=[[0, 1, 2, 3, 4, 5, 
6, 7]])\n\n";
+    String result = 
"HIREDATE=1980-12-17\nHIREDATE=1981-02-20\nHIREDATE=1981-02-22\n";
+
+    CalciteAssert.that()
+        .with(arrow)
+        .query(sql)
+        .limit(3)
+        .returns(result)
+        .explainContains(plan);
+  }
 }

Reply via email to