close
Skip to content

feat(rust/driver_manager): Decouple driver search logic from the driver objects themselves#3930

Merged
felipecrv merged 34 commits into
apache:mainfrom
felipecrv:library-search
Feb 12, 2026
Merged

feat(rust/driver_manager): Decouple driver search logic from the driver objects themselves#3930
felipecrv merged 34 commits into
apache:mainfrom
felipecrv:library-search

Conversation

@felipecrv
Copy link
Copy Markdown
Contributor

This is achieved through a new private sub-module called search.rs. In later PRs we might consider publishing some of the APIs.

@felipecrv felipecrv force-pushed the library-search branch 3 times, most recently from 12e322f to edfdcd4 Compare January 29, 2026 23:21
@felipecrv
Copy link
Copy Markdown
Contributor Author

@zeroshade I have more to do here, but any early feedback on the approach is appreciated. If the overall diff ends up confusing, you can see it commit by commit.

This refactoring allowed me to find an UX issue: if we fail to parse a manifest, we might swallow the error and succeed because we later find a library somewhere instead of stopping early and rendering the error message about the manifest parsing.

I will fix it in this PR.

@felipecrv felipecrv force-pushed the library-search branch 2 times, most recently from 3a594aa to 55cf9c2 Compare January 29, 2026 23:56
This commits introduce a [desirable] behavior change.
Previously, if we loaded the library successfully but failed after it
for some reason (e.g. error calling the driver init function), the
search WOULD CONTINUE and the error would be ignored until we find
another library or, more likely, return the driver not found error
message. This is bad, it would be better to return the init function
error.

There is more refinement to do here, but I will leave it for another PR.
@felipecrv felipecrv marked this pull request as ready for review February 11, 2026 22:45
@felipecrv felipecrv requested a review from wjones127 as a code owner February 11, 2026 22:45
Copy link
Copy Markdown
Member

@zeroshade zeroshade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any obvious issues here and as far as I can tell the logic is still preserved. So given that the current tests all pass this LGTM.

Thanks @felipecrv for this refactor, it's definitely helpful for this logic to be more reusable!

@felipecrv felipecrv merged commit a6757b7 into apache:main Feb 12, 2026
8 checks passed
@felipecrv felipecrv deleted the library-search branch February 12, 2026 22:28
felipecrv added a commit to felipecrv/arrow-adbc that referenced this pull request Feb 12, 2026
…er objects themselves (apache#3930)

This is achieved through a new private sub-module called `search.rs`. In
later PRs we might consider publishing some of these APIs.
felipecrv added a commit to dbt-labs/arrow-adbc that referenced this pull request Feb 12, 2026
…er objects themselves (apache#3930)

This is achieved through a new private sub-module called `search.rs`. In
later PRs we might consider publishing some of these APIs.
felipecrv added a commit to dbt-labs/arrow-adbc that referenced this pull request Feb 12, 2026
…er objects themselves (apache#3930)

This is achieved through a new private sub-module called `search.rs`. In
later PRs we might consider publishing some of these APIs.
@lidavidm lidavidm added this to the ADBC Libraries 23 milestone Feb 16, 2026
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.

3 participants