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
>

Reply via email to