[JAVA] [arrow-jdbc] Unmapped data type 2014 (TIMESTAMP_WITH_TIMEZONE)
- Ngôn ngữ chính
- Java
- Star
- 94
- Fork
- 152
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 11
Mô tả
### Describe the usage question you have. Please include as many useful details as possible.
I have an iceberg table with column type "TIMESTAMP_WITH_TIMEZONE"
When I run my flight_sql jdbc client to query this table, I get below error in my flight sql client code.
```
Exception in thread "Thread-0" java.lang.RuntimeException: java.sql.SQLException: Error while executing SQL "SELECT * FROM datawarehouse.school_data_raw.schools limit 100": Unknown error: java.lang.UnsupportedOperationException: Unmapped JDBC type: 2014
at ai.saal.arrowjdbcclient.ArrowJdbcClient.runQueryOnArrow(ArrowJdbcClient.java:123)
at ai.saal.arrowjdbcclient.ArrowJdbcClient.run(ArrowJdbcClient.java:41)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.sql.SQLException: Error while executing SQL "SELECT * FROM datawarehouse.school_data_raw.schools limit 100": Unknown error: java.lang.UnsupportedOperationException: Unmapped JDBC type: 2014
at cfjd.org.apache.calcite.avatica.Helper.createException(Helper.java:56)
at cfjd.org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at cfjd.org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:163)
at cfjd.org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227)
at ai.saal.arrowjdbcclient.ArrowJdbcClient.runQueryOnArrow(ArrowJdbcClient.java:97)
... 2 more
Caused by: cfjd.org.apache.arrow.flight.FlightRuntimeException: INTERNAL: Unknown error: java.lang.UnsupportedOperationException: Unmapped JDBC type: 2014
at cfjd.org.apache.arrow.flight.CallStatus.toRuntimeException(CallStatus.java:131)
at cfjd.org.apache.arrow.flight.grpc.StatusUtils.fromGrpcRuntimeException(StatusUtils.java:164)
at cfjd.org.apache.arrow.flight.grpc.StatusUtils$1.next(StatusUtils.java:250)
at cfjd.org.apache.arrow.flight.sql.FlightSqlClient$PreparedStatement.(FlightSqlClient.java:941)
at cfjd.org.apache.arrow.flight.sql.FlightSqlClient.prepare(FlightSqlClient.java:728)
at cfjd.org.apache.arrow.flight.sql.FlightSqlClient.prepare(FlightSqlClient.java:708)
at org.apache.arrow.driver.jdbc.client.ArrowFlightSqlClientHandler.prepare(ArrowFlightSqlClientHandler.java:170)
at org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl.prepareAndExecute(ArrowFlightMetaImpl.java:161)
at cfjd.org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
at cfjd.org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
... 4 more
```
Query I am running is **SELECT * FROM datawarehouse.school_data_raw.schools limit 100**
Table structure is :
_CREATE TABLE datawarehouse.school_data_raw.schools ( school_id varchar, school_name varchar, ingested_at timestamp(6) with time zone ) WITH ( format = 'PARQUET', format_version = 1, location = 's3a://data-warehouse/raw/school_data/schools' )_
### Component(s)
Java
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách lần theo đường dẫn chuẩn bị được thể hiện trong ArrowFlightMetaImpl.prepareAndExecute qua ArrowFlightSqlClient và phần xử lý metadata JDBC cho type 2014. Tái hiện truy vấn SELECT trên một cột TIMESTAMP_WITH_TIMEZONE và xác định hành vi mong đợi đối với JDBC type đó; hoàn thành khi truy vấn không còn thất bại với lỗi unmapped-type và coverage xác minh điều này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- databases
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100