Skip to content

feat(jdbc): add user-managed JDBCX support#3355

Closed
SpencerZhang wants to merge 2 commits into
t8y2:mainfrom
SpencerZhang:feat/jdbcx-support
Closed

feat(jdbc): add user-managed JDBCX support#3355
SpencerZhang wants to merge 2 commits into
t8y2:mainfrom
SpencerZhang:feat/jdbcx-support

Conversation

@SpencerZhang

Copy link
Copy Markdown
Contributor

What changed

  • add JDBCX as a first-class JDBC connection profile with the official icon
  • load a user-installed io.github.jdbcx:jdbcx-driver:<version> runtime together with all vendor JDBC drivers from Driver Store
  • support JDBCX URLs when parsing and rewriting tunneled JDBC endpoints
  • import JDBCX connections with the correct profile and wrapped driver class
  • document the user-managed JDBCX and vendor-driver installation model

Why

JDBCX connections need both the JDBCX wrapper runtime and a database vendor driver. Keeping both in Driver Store avoids vendor-specific hardcoding and does not increase the DBX application or JDBC plugin package size.

User impact

Users install a JDBCX Maven bundle and the target database JDBC driver in Driver Store, then connect with URLs such as jdbcx:mysql://127.0.0.1:3306/test. DBX validates that the JDBCX runtime exists and supplies the complete driver-store classpath.

Validation

  • pnpm exec vitest run apps/desktop/src/lib/__tests__/database/jdbcxBuiltinDriver.spec.ts apps/desktop/src/lib/__tests__/imports/jdbcxImport.spec.ts
  • pnpm typecheck
  • pnpm build
  • mvn -q test in plugins/jdbc
  • cargo test -p dbx-core jdbc --lib (51 passed)

@SpencerZhang
SpencerZhang deleted the feat/jdbcx-support branch July 15, 2026 13:17
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