Skip to content

feat(jdbc): arrow format support decimal. #394

Merged
youngsofun merged 1 commit intodatabendlabs:mainfrom
youngsofun:feat/arrow
Apr 29, 2026
Merged

feat(jdbc): arrow format support decimal. #394
youngsofun merged 1 commit intodatabendlabs:mainfrom
youngsofun:feat/arrow

Conversation

@youngsofun
Copy link
Copy Markdown
Member

@youngsofun youngsofun commented Apr 28, 2026

Summary

This PR updates JDBC Arrow negotiation to match the server-side protocol introduced in databend#19780.

Arrow is now enabled only when login reports server_max_arrow_result_version >= 3. When Arrow is used, the driver sends:

  • arrow_result_version_max=3
  • arrow_features.decimal64=false

This removes the old fallback that inferred Arrow support from the server version and allows Decimal-related Arrow integration tests to run again.

Changes

  • Require server_max_arrow_result_version >= 3 before enabling Arrow transport.
  • Remove the old server-version-based Arrow capability fallback.
  • Extend query requests with arrow_features.decimal64=false in Arrow mode.
  • Omit Arrow-only request fields in JSON mode.
  • Update unit tests to cover:
    • Arrow enabled when server advertises result version 3
    • Fallback to JSON when server advertises result version 2
  • Re-enable Decimal-related integration tests in Arrow mode.

@youngsofun youngsofun merged commit 760e101 into databendlabs:main Apr 29, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant