alberttwong opened a new issue, #1382: URL: https://github.com/apache/arrow-java/issues/1382
### Describe the enhancement requested Please implement Flight SQL JDBC DatabaseMetaData.getTypeInfo() using the server's GetXdbcTypeInfo endpoint. ### Observed behavior With arrow-flight-sql-jdbc 19.0.0, DatabaseMetaData.getTypeInfo() returns an empty ResultSet against our Redis Flight SQL server, while a direct Go Flight SQL GetXdbcTypeInfo call returns the server's canonical scalar type metadata. This is a client metadata capability gap, independent of query result schemas or GetTables. Our October 20, 2026 smoke test records the empty JDBC result explicitly: https://github.com/alberttwong/redis-apache-arrow-flight/blob/72db508ed1c6c7fc3321bb874ea52898cca3966f/examples/jdbc/JdbcSmoke.java Server implementation and direct protocol tests in that same revision: - server/typeinfo.go - server/capabilities_test.go (TestFlightTypeInfo and TestIntegrationTypeInfoDDL) Compatibility notes: https://github.com/alberttwong/redis-apache-arrow-flight/blob/72db508ed1c6c7fc3321bb874ea52898cca3966f/docs/client-compatibility.md Environment: JDBC 19.0.0, Temurin Java 25 for the local client, Arrow Go 18.8.0 server, Redis 8.6.2. This report uses the preserved integration result; no new live reproduction was run while filing it. GitHub's latest Arrow Java release was v19.0.0 when checked, and current main's ArrowFlightMetaImpl extends Avatica MetaImpl without a getTypeInfo override. ### Minimal client check Against a Flight SQL server that implements GetXdbcTypeInfo and returns a nonempty supported type list: ```java try (Connection c = DriverManager.getConnection(url); ResultSet types = c.getMetaData().getTypeInfo()) { int count = 0; while (types.next()) { System.out.println(types.getString("TYPE_NAME") + " / " + types.getInt("DATA_TYPE")); count++; } System.out.println("type rows: " + count); } ``` Observed: zero rows. Direct protocol check against the same server: nonempty standard-schema type rows. ### Requested behavior - Forward JDBC type discovery to Flight SQL GetXdbcTypeInfo and map the standard Flight SQL fields to the JDBC ResultSet contract. - Preserve nullability and ordering as required by JDBC; do not fabricate precision/scale values when unknown. - Add coverage for a nonempty type list, optional NULL metadata, an empty list and unsupported/error responses. - Keep resource cleanup and server errors visible. This would let JDBC applications discover the types the server supports. It does not establish general DBeaver/Tableau compatibility. If there is already a supported path or an existing tracker, please point us to it. Searches for getTypeInfo and type information did not locate a matching issue/PR; #180 concerns GetTables/GetSchemas field naming instead. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
