Repository navigation
fix(ingestr): pin the DuckDB ADBC driver to the installed duckdb version - #1203
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
duckdb1.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
duckdbpackage into<environment>/etc/adbc/driverswithdbc, unless the user setsADBC_DRIVER_PATH. A matching driver is reused; a failed install is a clear integration error naming the DuckDB version.ingestrextra addsdbcand requiresingestr>=1.1.73(lockfile updated from 1.0.0).adbc_driver_installsubprocess operation in the lifecycle catalogue and progress labels.ADBC_DRIVER_PATHoverride.Verification
duckdbversion, a matching driver and a userADBC_DRIVER_PATHare left alone, a failed install names the version.sqlbuild-coretests pass.make check-ci.