2个不稳定版本
0.2.0 | 2024年3月10日 |
---|---|
0.1.4 | 2024年3月6日 |
#2011 in 数据库接口
每月52次下载
15KB
94 行
inline-sql
在Rust函数内部编写SQL查询。
inline-sql
crate 允许您注释一个函数,直接将SQL查询作为函数体编写。您可以使用函数参数作为查询中的占位符,查询结果将自动转换为返回类型。
有关更多详细信息和使用示例,请参阅 #[inline_sql]
宏的文档。
目前,仅支持 tokio-postgres
作为后端。
示例:返回一个 Vec
行向量。
use inline_sql::inline_sql;
#[inline_sql]
async fn get_pets_by_species(
client: &tokio_postgres::Client,
species: &str,
) -> Result<Vec<Pet>, tokio_postgres::Error> {
query!(SELECT * FROM pets WHERE species = $species)
}
计划功能
- 支持更多后端,包括同步后端。
- 解析函数参数以确定
client
对象的名称。 - 支持返回恰好一行或错误的查询。
- 更多属性参数以允许
- 指定查询类型而不是从返回类型推断。
- 更改在生成的代码中获取
client
的方式(例如,从self
的成员)。
依赖关系
~7–17MB
~228K SLoC