[Java][FlightRPC] Flight SQL JDBC driver improvements
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
Follow ups for ARROW-7744
- Rename internal classes to not imply everything is part of Flight RPC (e.g. ArrowFlightJdbcArray -> FieldVectorArray or similar)
- Don't throw bare exceptions (always provide some error context)
- Log a warning if the `arrow-flight:` URI scheme is used instead of `arrow-flight-sql:`
- Create a documentation page (that can be used for people approaching this from the JDBC side, not necessarily Arrow users)
- Document the connection string format and parameters
- Replace `// TODO` comments with `throw new UnsupportedOperationException()`
- Document how timestamp/time/date types are handled in converting between the two type schemas
- Document the type conversions in general
- [timestamp handling is suspect](https://github.com/apache/arrow/pull/13800#discussion_r938908230)
- Upgrade to JUnit5/AssertJ instead of JUnit4/Hamcrest
- Get rid of FreePortFinder
- Use a single (static?) RootAllocator with child allocators
- Remove all Guava usage (can we deny this with a lint?)
- See if `SqlTypes` can be folded into arrow-jdbc
**Reporter**: [David Li](https://issues.apache.org/jira/browse/ARROW-17729) / @lidavidm
#### Subtasks:
- [X] [[Docs][Java] Add documentation page for Flight SQL JDBC driver](https://github.com/apache/arrow/issues/32967)
- [X] [[Packaging] Add JDBC driver to release tasks](https://github.com/apache/arrow/issues/32976)
**Note**: *This issue was originally created as [ARROW-17729](https://issues.apache.org/jira/browse/ARROW-17729). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par séparer les suivis restants des deux sous-tâches terminées, puis inspectez les points d’entrée du Flight SQL JDBC driver nommés par l’issue et identifiez les éléments non cochés qui restent applicables. Terminé signifie que les améliorations sélectionnées, la documentation, les tests et le nettoyage sont achevés sans laisser l’issue globale ambiguë.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, sql
- Domaine
- databases
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100