Skip to content
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

Feature Request: Support DuckDB in SQLx #3186

Open
DeflateAwning opened this issue Apr 9, 2024 · 4 comments
Open

Feature Request: Support DuckDB in SQLx #3186

DeflateAwning opened this issue Apr 9, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@DeflateAwning
Copy link

DeflateAwning commented Apr 9, 2024

Is your feature request related to a problem? Please describe.
I wish I could use DuckDB in SQLx. SQLite is too slow for many of my applications, whereas DuckDB is exactly what I need.

Describe the solution you'd like
I'd like DuckDB support which parallels SQLite.

Describe alternatives you've considered
SQLite is an alternative. The official DuckDB bindings for Rust are totally good and usable, but being able to have compile-time SQL checks, and integration with the ORM layers on top of sqlx would be awesome!

Additional context
DuckDB is an interesting database that is quite similar to SQLite (in-process execution, single-file databases, light weight, single-executable). Their client crate offers an API very similar to that of rusqlite. As an OLAP database, it is very fast, and very good for data analytics, an area which Rust is making large strides in (esp. with the development of Polars).

@DeflateAwning DeflateAwning added the enhancement New feature or request label Apr 9, 2024
@abonander
Copy link
Collaborator

See the following comment for our general disposition on adding drivers: #3115 (comment)

See also #1999

@DeflateAwning
Copy link
Author

#1999 is closed, so I opened a new issue to track this active request. Hopefully more people will get in here to vote for this one, as I think it has huge potential!

@JohnstonJ
Copy link

I would also be interested in this! For users who want to use embedded databases, from what I've read, DuckDB is the go-to embedded OLAP database. It doesn't fill the same role as SQLite. And sqlx doesn't support any competing embedded OLAP database products.

@abonander
Copy link
Collaborator

The way SQLx is designed now, a DuckDB driver would not strictly need to be merged into this repo to be usable.

There's some roughness around the macros and sqlx-cli that I have plans to address in future releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants