Motivation
Many SQL databases speak PostgreSQL or MySQL wire protocol, meaning they can reuse our existing adapters with minimal effort.
Others have JDBC drivers and can leverage our JdbcBridgeAdapter.
A few would benefit from dedicated native adapters.
Our current architecture already supports:
- Native adapters: PostgreSQL, MySQL, SQL Server, SQLite, DuckDB, ClickHouse, Oracle (gated)
- JDBC bridge: DB2, H2, Snowflake, DM8Oracle, XuguDB, GBase8a
- HTTP bridge: Trino, Presto
- PG-wire compat (→ PostgresAdapter): CockroachDB, Redshift, YugabyteDB, TimescaleDB, KingbaseES, GaussDB, HighGo, UXDB, OpenGauss, GBase8c
- MySQL-wire compat (→ MySQLAdapter): MariaDB, TiDB, OceanBase, TDSQL, PolarDB, DM8
Dependency Notice
Task 2 depends on issue #70 — JDBC driver management infrastructure.
Issue #70 defines how JDBC drivers are resolved, downloaded, and managed:
- Built-in driver registry with Maven coordinates (no user-provided JARs)
- Managed JRE auto-downloaded by SQLKit (no user Java installation required)
- Automatic driver version fallback for legacy databases
- Settings page for viewing/removing cached drivers
Task 2 databases cannot be added until this infrastructure is in place, because each JDBC database needs a registered driver entry with verifiable Maven coordinates.
Work Breakdown
Add databases that reuse existing PostgreSQL or MySQL adapters via the strategy system.
No Rust adapter code needed — just enum variants, routing, icons, and frontend entries.
Add databases that have well-known JDBC drivers — reuse our existing JdbcBridgeAdapter infrastructure.
Databases where we should build dedicated native adapters or leverage existing infrastructure patterns.
Acceptance Criteria
- Each database type is selectable in the connection form dropdown
- Test connection works for verified databases
- Basic query execution (
SELECT) works
- Metadata browsing (tables, columns) works (where supported by the backend)
- Each new db type has an icon in the UI
- Strategy routing correctly maps wire-protocol compat DBs to their native adapters
- JDBC bridge databases use drivers from the built-in registry only (no user-provided JARs)
Motivation
Many SQL databases speak PostgreSQL or MySQL wire protocol, meaning they can reuse our existing adapters with minimal effort.
Others have JDBC drivers and can leverage our
JdbcBridgeAdapter.A few would benefit from dedicated native adapters.
Our current architecture already supports:
Dependency Notice
Task 2 depends on issue #70 — JDBC driver management infrastructure.
Issue #70 defines how JDBC drivers are resolved, downloaded, and managed:
Task 2 databases cannot be added until this infrastructure is in place, because each JDBC database needs a registered driver entry with verifiable Maven coordinates.
Work Breakdown
Task 1: Wire-protocol compatible databases (trivial)
Add databases that reuse existing PostgreSQL or MySQL adapters via the strategy system.
No Rust adapter code needed — just enum variants, routing, icons, and frontend entries.
Task 2: JDBC bridge databases (low-medium effort, blocked on #70)
Add databases that have well-known JDBC drivers — reuse our existing JdbcBridgeAdapter infrastructure.
Task 3: New dedicated adapters (medium-high effort)
Databases where we should build dedicated native adapters or leverage existing infrastructure patterns.
firebird-rs. Could build a native adapter similar to MySQL/Postgres.HttpSqlAdapterpattern.HttpSqlAdapterpattern.Acceptance Criteria
SELECT) works