apache / apache/arrow-java

[JAVA] [arrow-jdbc] Unmapped data type 2014 (TIMESTAMP_WITH_TIMEZONE)

Abierto
#118 2 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza siguiendo la ruta de preparación mostrada en ArrowFlightMetaImpl.prepareAndExecute a través de ArrowFlightSqlClient y del manejo de metadatos JDBC para el tipo 2014. Reproduce la consulta SELECT contra una columna TIMESTAMP_WITH_TIMEZONE e identifica el comportamiento esperado para ese tipo JDBC; el trabajo estará terminado cuando la consulta ya no falle con un error de tipo no mapeado y la cobertura lo verifique.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.