Skip to content

fix(ingestr): pin the DuckDB ADBC driver to the installed duckdb version - #1203

Merged
kvlonge merged 1 commit into
mainfrom
fix/ingestr-duckdb-driver
Oct 21, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/ingestr-duckdb-driver

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Why

DuckDB 2.0.0 was released today. ingestr installs the newest DuckDB ADBC driver when none is installed, so DuckDB files it wrote moved to the 2.0 storage format, which the locked duckdb 1.5.2 package (and SQLBuild's DuckDB adapter) cannot read. The ingestr DuckDB E2E tests started failing on every PR that runs them, and a user's ingestr-loaded DuckDB source could become unreadable by SQLBuild.

Changes

  • Before running ingestr, SQLBuild installs the DuckDB ADBC driver matching its installed duckdb package into <environment>/etc/adbc/drivers with dbc, unless the user sets ADBC_DRIVER_PATH. A matching driver is reused; a failed install is a clear integration error naming the DuckDB version.
  • The ingestr extra adds dbc and requires ingestr>=1.1.73 (lockfile updated from 1.0.0).
  • New adbc_driver_install subprocess operation in the lifecycle catalogue and progress labels.
  • Docs: the ingestr page explains the driver pinning and the ADBC_DRIVER_PATH override.

Verification

  • Unit tests for the driver step: missing and mismatched drivers install the duckdb version, a matching driver and a user ADBC_DRIVER_PATH are left alone, a failed install names the version.
  • The ingestr DuckDB E2E tests pass from a fresh home with no cached driver (they failed the same way as CI before the fix); sqlbuild-core tests pass.
  • make check-ci.

DuckDB 2.0.0 was released and ingestr installs the newest DuckDB ADBC driver when none is installed, so files it wrote moved to a storage format the locked duckdb package cannot read. SQLBuild now installs the driver matching its duckdb package before running ingestr, unless ADBC_DRIVER_PATH is set, and the ingestr extra includes dbc.
@kvlonge
kvlonge enabled auto-merge (squash) October 21, 2026 17:53
@kvlonge
kvlonge merged commit e1ca0bc into main Oct 21, 2026
86 of 88 checks passed
@kvlonge
kvlonge deleted the fix/ingestr-duckdb-driver branch October 21, 2026 18:34
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