eitsupi opened a new issue, #3106: URL: https://github.com/apache/arrow-adbc/issues/3106
### What feature or improvement would you like to see? As pointed out by @lidavidm[^1], splitting the adbc_core crate seems worthwhile for a better separation of concerns. [^1]: https://github.com/apache/arrow-adbc/issues/2739#issuecomment-2976726395 Considering the use cases for our current Rust drivers, I believe splitting the crate into the following three components would clarify dependencies and effectively isolate unsafe code. 1. adbc_core: This crate would represent the C API specification (The current `rust/core/src/ffi/constants.rs`) and the ADBC behavior purely in Rust. For crates written purely in Rust, like adbc_datafusion, this would be sufficient, excluding the `export_driver` macro. 2. adbc_ffi: This crate would depend on adbc_core and implement the unsafe functions. The `export_driver` macro definition is also included. 3. adbc_driver_manager: This crate would depend on adbc_ffi and provide the functionality currently found in `rust/core/src/driver_manager.rs`. Rust-written drivers like adbc_datafusion would not need to depend on this crate. I'd appreciate your feedback on this proposal. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org