SQLx Adapter
Use hydracache-sqlx when SQLx remains the query authority and HydraCache owns only the cache boundary.
The adapter re-exports DbCache, policy types, HydraCacheEntity, and query_cache_policy! for SQLx users. It does not replace SQLx macros, pools, transactions, or row mapping.
let queries = DbCache::new(HydraCache::local().build(), "sqlx");
let user = queries
.for_entity::<User>(42)
.fetch_with(|| async {
// Replace this with SQLx query_as!, a transaction, or repository code.
Ok::<_, hydracache_sqlx::sqlx::Error>(User {
id: 42,
name: "Ada".to_owned(),
})
})
.await?;
assert_eq!(user.id, 42);
Use fetch_with when SQLx macros, transactions, or repository functions need to stay in charge. Use sqlx_one, sqlx_optional, and sqlx_all for small pool-like helper calls.