Show HN: sqlc-gen-sqlx, a sqlc plugin for generating sqlx Rust code(github.com)
github.com
Show HN: sqlc-gen-sqlx, a sqlc plugin for generating sqlx Rust code
https://github.com/mathematic-inc/sqlc-gen-sqlx
2 コメント
How does this handle prepared statement caching compared to writing sqlx queries directly? Been burned before by N+1 prepared statement creation in high-throughput services. Also curious if there's a migration story since sqlc plugins are relatively new, did you hit any gotchas moving existing sqlx codebases over?
This plugin uses sqlx underneath which handles prepared statement caching. Regarding migration, we just used a coding agent to migrate our database infrastructure to it. It takes <20 minutes and remember this really only helps with static queries. We do support sqlc's dynamic queries though.
Tip: you can use case statements and etc. to create static queries even when you have conditionals.
Also, read https://news.ycombinator.com/newsguidelines.html#generated
Tip: you can use case statements and etc. to create static queries even when you have conditionals.
Also, read https://news.ycombinator.com/newsguidelines.html#generated
The generated API is intentionally small:
- a `const SQL`
- row structs for `:one` and `:many`
- params structs when a query has multiple parameters
- methods on `Queries<E>` that work with `&PgPool`, `&mut PgConnection`, or `&mut Transaction`
Current scope is PostgreSQL. It supports the usual `sqlc` query annotations, plus enums, composite types, batch queries, `COPY FROM`, `sqlc.slice()`, `sqlc.embed()`, and type overrides.