Two comments: ——
Since this library is analogous to things like ADBC, ODBC, and JDBC, it’s more of a “driver” than a “connector”. This might make your life easier when explaining what it does. It’s not a black and white thing, but “connector” might imply networking to some people. I believe you delegate the networking bits of interacting with PostgreSQL to a Rust connector. —— This library would be more interesting if it could be a wrapper of language-agnostic database standards like ADBC and ODBC. The Rust compiler can call and expose functions that follow the C ABI — the only true code interface standard available on every OS/Architecture pair. This would mean that any database that exposes ADBC/ODBC can be used from your driver. You would still offer a rich Rust interface, but everything would translate to well-defined operations that vendors implement. This also reduces the chances of you providing things that are heavily biased towards the way the databases you supported initially work. — Felipe On Tue, 12 Mar 2024 at 09:28 Aljaž Eržen <al...@erzen.si> wrote: > Hello good folks of Apache Arrow! I come looking for feedback on my > Rust crate connector_arrow [1], which is an Arrow database client that > is able to connect to multiple databases over their native protocols. > > It is very similar to ADBC, but better adapted for the Rust ecosystem, > as it can be compiled with plain cargo and uses established crates for > connecting to the databases. > > The main feedback I need is the API exposed by the library [2]. I've > tried to keep it minimal and it turned out much more concise than the > api exposed by ADBC. Have I missed important features? > > Aljaž Mur Eržen > > [1]: https://docs.rs/connector_arrow/latest/connector_arrow/ > [2]: > https://github.com/aljazerzen/connector_arrow/blob/main/connector_arrow/src/api.rs >