apache / arrow-adbc

Database connectivity API standard and libraries for Apache Arrow
https://arrow.apache.org/adbc/
Apache License 2.0
385 stars 98 forks source link

feat(rust/drivers): adbc driver for datafusion #2267

Closed tokoko closed 1 month ago

tokoko commented 1 month ago

Fixes #2263

An initial driver implementation for datafusion:

P.S. I'm not much of a rust person, so I'd appreciate any kind of pointers

mbrobbel commented 1 month ago

To fix the failing CI job we need to install protoc (required by the substrait crate):

You could add

- name: Install Protoc
  uses: arduino/setup-protoc@v3
  with:
    repo-token: ${{ secrets.GITHUB_TOKEN }}

as a step after https://github.com/apache/arrow-adbc/blob/4639ca8ba98a4a8e91ad1e5dac971dcb6835666d/.github/workflows/rust.yml#L68-L72.

tokoko commented 1 month ago

@mbrobbel thanks, got everything green. I had to temporarily add #![allow(refining_impl_trait)] to lib.rs, couldn't get unimplemented methods that return Result<impl RecordBatchReader + Send> to pass clippy checks otherwise.

lidavidm commented 1 month ago

Let's merge this as a start. Thanks @tokoko @eitsupi!