You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Companion to #445 (new database support). Top modern pick from the mid-2026 research.
Why
DuckDB is the fastest-rising analytical database (DB-Engines #81→#51 in a year; #4 in the Stack Overflow survey), MIT-licensed, with an official JDBC driver (org.duckdb:duckdb_jdbc, 1.5.3.0 as of May 2026). It supports real PK/FK constraints, so Bloviate's FK dependency-graph fill works as-is.
Big test-harness win: DuckDB is embedded/in-process (jdbc:duckdb: file or :memory:), so its integration tests need no Docker/TestContainers — faster CI, and it doubles as a fixture for the testing-framework work (#448).
Companion to #445 (new database support). Top modern pick from the mid-2026 research.
Why
DuckDB is the fastest-rising analytical database (DB-Engines #81→#51 in a year; #4 in the Stack Overflow survey), MIT-licensed, with an official JDBC driver (
org.duckdb:duckdb_jdbc, 1.5.3.0 as of May 2026). It supports real PK/FK constraints, so Bloviate's FK dependency-graph fill works as-is.Big test-harness win: DuckDB is embedded/in-process (
jdbc:duckdb:file or:memory:), so its integration tests need no Docker/TestContainers — faster CI, and it doubles as a fixture for the testing-framework work (#448).Scope — new dialect (own support class)
DuckDBSupport extends AbstractDatabaseSupportwith aconfigure()override; do the empiricalDATA_TYPE/TYPE_NAMEdiscovery first (per the feat(ext): full PostgreSQL and MySQL vendor-type support #444 method) againstduckdb_jdbc.BOOLEAN,TINYINT/SMALLINT/INTEGER/BIGINT/HUGEINTand unsignedUTINYINT…UBIGINT,FLOAT/DOUBLE,DECIMAL,VARCHAR,BLOB,DATE/TIME/TIMESTAMP/TIMESTAMPTZ/INTERVAL,UUID,JSON, and the composite typesLIST/ARRAY,STRUCT,MAP,ENUM,BIT. Reuse existing generators (UUIDGenerator,JsonbGenerator, array generators,BitStringGenerator); decide whether to support the composite types (STRUCT/MAP) initially or throwUnsupportedOperationExceptionfor them.forProduct: add aduckdbbranch + selection test.create_tables.duckdb.sql+fillTestTables.org.duckdb:duckdb_jdbc(test scope).Acceptance criteria
DuckDBSupportregistered and selectable