Can't view system tables due to Unsupported ArrowType Utf8View
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
### Describe the bug, including details regarding any error messages, version, and platform.
I'm using the latest JDBC 18.3 and I can't open some tables and retrieve column names due to the exception:
```
java.sql.SQLException: Error while executing SQL "SELECT t.*
FROM "system"."distinct_caches" t": Unsupported ArrowType Utf8View
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.Helper.createException(Helper.java:56)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:218)
in RemoteStatementImpl.execute(RemoteStatementImpl.java:79)
Caused by: java.lang.IllegalArgumentException: Unsupported ArrowType Utf8View
at org.apache.arrow.driver.jdbc.utils.SqlTypes.getSqlTypeIdFromArrowType(SqlTypes.java:163)
at org.apache.arrow.driver.jdbc.utils.ConvertUtils.lambda$convertArrowFieldsToColumnMetaDataList$0(ConvertUtils.java:83)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.SliceOps$1$1.accept(SliceOps.java:200)
at java.base/java.util.stream.Stream$1.tryAdvance(Stream.java:1469)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.apache.arrow.driver.jdbc.utils.ConvertUtils.convertArrowFieldsToColumnMetaDataList(ConvertUtils.java:89)
at org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl.newSignature(ArrowFlightMetaImpl.java:60)
at org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl.prepareForHandle(ArrowFlightMetaImpl.java:175)
at org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl.prepareAndExecute(ArrowFlightMetaImpl.java:209)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157)
at org.apache.arrow.driver.jdbc.shaded.org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:218)
in RemoteStatementImpl.execute(RemoteStatementImpl.java:79)
... 3 more
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez dans SqlTypes.java, au niveau de getSqlTypeIdFromArrowType(), comme indiqué dans la stack trace, et suivez la façon dont ConvertUtils construit les métadonnées des colonnes JDBC. Reproduisez la requête sur la table système concernée, puis vérifiez que Utf8View est géré sans la SQLException et que les noms de colonnes peuvent être récupérés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100