Skip to content

Conversation

@zeroshade
Copy link
Member

Following the pattern of the C++ driver manager and the various bindings to it, we also have to add support for the Rust driver manager to handle and load drivers via manifest files too. Since the Rust driver manager doesn't bind to the C++ one like everyone else, we need to add the support in rust directly to locate, open, and parse driver manifests.

This PR adds a new function ManagedDriver::find_load_from_name along with constants for the LoadFlags to control what paths are searched. The basic logic mirrors the C++ implementation. Unit tests are also included.

To control the tests, two new features are added: driver_manager_test_lib which expects an env var ADBC_DRIVER_MANAGER_TEST_LIB to be set, just like the C++ driver manager tests, to the path for an adbc library to load. And driver_manager_test_manifest_user which controls whether the test that interacts with the user's config directory should be run or not.

@github-actions github-actions bot added this to the ADBC Libraries 20 milestone Jul 3, 2025
@zeroshade zeroshade requested review from felipecrv and mbrobbel July 3, 2025 22:42
Copy link
Member Author

@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.

Come one, come all, roast my Rust code and tell me how to make it better.... please!

@zeroshade
Copy link
Member Author

CC @phillipleblanc

Copy link
Member

@paleolimbot paleolimbot left a comment

Choose a reason for hiding this comment

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

Thank you for this! Only optional improvements from me 🙂

@zeroshade
Copy link
Member Author

I've also updated this to have the same windows registry logic that the C++ adbc_driver_manager has.

@zeroshade zeroshade requested review from eitsupi and mbrobbel July 9, 2025 18:21
Copy link
Contributor

@eitsupi eitsupi left a comment

Choose a reason for hiding this comment

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

Looking forward to seeing this working!
Some minor comments.

@zeroshade zeroshade requested a review from mbrobbel July 10, 2025 22:04
@zeroshade
Copy link
Member Author

@mbrobbel any further comments here? Or are we looking good? 😄

@zeroshade zeroshade merged commit 92c26ec into apache:main Jul 12, 2025
71 of 72 checks passed
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.

8 participants