Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: sqlc-gen-sqlx, a sqlc plugin for generating sqlx Rust code (github.com/mathematic-inc)
1 point by jrandolf 3 months ago | hide | past | favorite | 2 comments
`sqlc-gen-sqlx` is a `sqlc` (https://sqlc.dev) plugin that generates `sqlx`-oriented Rust code from annotated SQL queries.

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.



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




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: