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);
+ }
}