-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rust/drivers): adbc driver for datafusion #2267
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool! I'll split my review over multiple chunks.
The failing test is known to be flaky.
rust/Cargo.toml
Outdated
@@ -34,6 +34,7 @@ categories = ["database"] | |||
|
|||
[workspace.dependencies] | |||
adbc_core = { path = "./core" } | |||
arrow = { version = "53.1.0", default-features = false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of adding arrow
we can add the arrow
subcrates to reduce the size of our dependency tree.
It looks like we need to add:
arrow-cast
for https://docs.rs/arrow-cast/latest/arrow_cast/pretty/fn.print_batches.html (dev-dependency
)arrow-select
for https://docs.rs/arrow-select/latest/arrow_select/concat/fn.concat_batches.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks. makes sense, didn't realize most of these functions could be imported from multiple crates. Added both as a dev-dependency.
To fix the failing CI job we need to install You could add - name: Install Protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }} as a step after arrow-adbc/.github/workflows/rust.yml Lines 68 to 72 in 4639ca8
|
@mbrobbel thanks, got everything green. I had to temporarily add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good as an initial commit for this driver. The todo!()
s and unwrap
s can be handled in follow-up PRs.
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