Repository navigation
GH-1382: Implement JDBC type discovery with GetXdbcTypeInfo - #1391
Open
hutiefang76 wants to merge 1 commit into
Open
hutiefang76 wants to merge 1 commit into
hutiefang76 wants to merge 1 commit into
Conversation
Expose server type information through the existing Flight SQL JDBC metadata bridge. Convert the protocol fields to the standard JDBC columns, preserve nullable values and server order, and retain the empty-result schema. Cover real client/server round trips across batches, parameter list conversion, unknown precision, errors and allocator cleanup. Generated-by: Codex Generated-by: DeepSeek V4 Flash
hutiefang76
requested review from
jbonofre,
laurentgo,
lidavidm and
wgtmac
as code owners
October 24, 2026 11:46
|
Thank you for opening a pull request! Please label the PR with one or more of:
Also, add the 'breaking-change' label if appropriate. See CONTRIBUTING.md for details. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's Changed
DatabaseMetaData.getTypeInfo()currently inherits an empty result, even when the Flight SQL server exposes type metadata. Forward it toGetXdbcTypeInfoand map the response to the 18 JDBC columns. Preserve server row order and SQL NULLs, convert parameter lists to strings and the JDBC short-valued fields to SMALLINT, and retain the standard column schema for an empty stream.Real in-process Flight client/server tests cover multiple batches, unknown precision, NULL versus empty parameter lists, empty results, server failures and allocator cleanup after normal or early close. The change stays in the JDBC metadata bridge and its fixtures.
Validation on macOS arm64, JDK 21.0.10, using the repository-pinned Arrow test data:
mvn -B -ntp -Dmaven.gitcommitid.nativegit=true -pl flight/flight-sql,flight/flight-sql-jdbc-core,flight/flight-sql-jdbc-driver -am verifypassed, including Spotless, Checkstyle and the dependency reactor. Flight SQL: 97 tests; JDBC Core: 1253 tests, 44 existing skips; packaged driver validation: 2 integration tests. Dependency modules retain their existing conditional skips.ResultSetTest.testFallbackUnresolvableFlightServertiming assertion (second attempt took 5015 ms). One complete rerun passed without changing source, configuration or thresholds.Closes #1382.
Maintainer note: please add the
enhancementlabel; the format job currently fails for that missing label, and my account cannot add it. The Test, Integration, Dev and RC workflows showaction_required; could you approve those runs when appropriate? Upstream test execution and review remain pending.AI-generated patch and PR description using Codex and DeepSeek, with automated review by DeepSeek. The builds and test results above were executed locally.