5个不稳定版本
使用旧的Rust 2015
0.3.0 | 2016年8月16日 |
---|---|
0.2.0 | 2015年5月15日 |
0.1.3 | 2015年1月1日 |
0.1.2 | 2015年1月1日 |
0.1.1 | 2014年11月22日 |
#1048 在 数据库接口 中
504 每月下载量
被 68 个 Crates 使用(其中2个直接使用)
135KB
2.5K SLoC
Rust-Sqlite3
sqlite3的Rust封装。
版权所有 (c) 2014 Dan Connolly
分享并享受。许可证: MIT。
文档,状态
提供三层API
mod ffi
提供了对libsqlite.h
的详尽但不安全的 bindgen 绑定mod core
提供对基本sqlite3 API的最小安全接口mod types
提供了ToSql
/FromSql
特性,该库还提供了方便的query()
和update()
API。
API设计可能正在稳定,尽管测试不均匀,并且我没有在超越简单集成测试之外使用该库。
待办事项
- 再次仔细阅读sqlite API简介,并匹配单元测试;特别是...
- 除了快乐路径以外的单元测试
ToSql
/FromSql
现在可以被客户端实现,但types
模块可能还没有达到80%的覆盖率;例如,它缺少uint和 &[u8]。- 研究rust的测试覆盖率工具
- 基本基准测试
动机和致谢
我在研究 sandstorm,一个基于美妙 能力安全范式的个人云平台,并发现了一个使用原生API而不是传统POSIX环境的rust应用程序 acronymy。
我开始仔细研究代码,并跟随依赖链接到linuxfood的 rustsqlite。我开始处理一个 内存安全问题 等,但很快就发现了一些大规模API设计问题,我不确定如何与上游开发者合作。我也受到了sfackler的 rust-postgres API中的 FromSql
、ToSql
等特性的启发。
所以我从头开始,使用 bindgen,Result
(求和类型)等等。
依赖关系
~1–1.4MB
~22K SLoC