wjones127 opened a new pull request, #3582:
URL: https://github.com/apache/arrow-rs/pull/3582
# Which issue does this PR close?
Closes #3540.
# Rationale for this change
Rust is a good candidate for implementing an ADBC driver, but doing so
involves quite a bit of `unsafe`. It would be nice to keep that `unsafe` code
consolidated in one place, and allow implementors to interact instead with APIs
that are more canonical Rust.
# What changes are included in this PR?
The PR adds a new `arrow_adbc` crate with three modules:
* `ffi`: contains the FFI types corresponding to each of the structs in
[adbc.h](https://github.com/apache/arrow-adbc/blob/main/adbc.h).
* `error`: contains traits relevant to translating Rust error enums into
the `FFI_AdbcError` struct and `AdbcStatusCode` enum.
* `interface`: provides Rust traits to define behavior for each struct and
a macro `adbc_api!()` that generates the ADBC API. Users simply have to
implement each of the traits and call the macro.
# Are there any user-facing changes?
These are entirely new APIs. This PR will include documentation for all APIs.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]