Closed lpj145 closed 7 months ago
Hello @lpj145 , thank you for the kind words. As far as I know the Python binding of Polars are integrating with the Python bindings of this crate. See: https://docs.pola.rs/py-polars/html/reference/api/polars.read_database.html. These bindings are maintained by the Polars developers.
The Polars Rust crate has no direct support. People have converted it in the past still: https://github.com/pacman82/odbc-api/discussions/536#discussioncomment-8807348
Also arrow2
has direct ODBC bindings, which like arrow-odbc
are build on top of odbc-api
and use bulk fetches. However I would not recommend using them. They are more a result of a one day hack and unmaintained.
If this occurs more often I could also expose the C-Interface in the Rust crate, to save one marshaling step. Which arrow implementation does Polars use these days? Is it arrow2
or something else?
Best, Markus
Polars uses https://crates.io/crates/polars-arrow I think it is his own implementation, by the way it's is a fork from arrow2.
Given that arrows main selling point is that it can share binary representations the community is weirdly insistent of marshaling the meta-information into all kinds of formats 😅 . The C-Representation is good enough. I wish we could just use that as the canonical representation and just wrap it into some binary identical safe types.
Hey Markus @pacman82 , big fan of your work here. Just want to say hi 🙂
I once made a attempt to update the odbc-api
version used by arrow2
, but only realized later that the project itself went archived and merged into the official arrow
project 😂. Nevertheless I learned a lot by studying your code. Thanks a lot for all the work you have done!
Hello @ugoa , thank you, you are welcome! I learn a lot myself through these projects. I did not realize myself until now arrow2
and the official arrow
merged. Yet I think it is a good thing to not split the community to granular.
Hey @pacman82 thanks for your job you have done a incredible work here, please did you have some articles or examples of how to integrate this crate with polars? I had find some posts talking about this crate with polars but no single one example how to do it.
See ya!