Crates.io | rust-sqlite |
lib.rs | rust-sqlite |
version | 0.3.0 |
source | src |
created_at | 2014-11-22 23:05:33.802236 |
updated_at | 2016-08-16 18:25:20.047975 |
description | Rustic bindings for sqlite3 |
homepage | |
repository | https://github.com/dckc/rust-sqlite3 |
max_upload_size | |
id | 359 |
size | 141,318 |
Rustic bindings for sqlite3.
Copyright (c) 2014 Dan Connolly
Share and enjoy. LICENSE: MIT.
Three layers of API are provided:
mod ffi
provides exhaustive, though unsafe, bindgen bindings for libsqlite.h
mod core
provides a minimal safe interface to the basic sqlite3 APImod types
provides ToSql
/FromSql
traits, and the library provides
convenient query()
and update()
APIs.The API design is perhaps stabilizing, though testing is uneven and I have not used the library beyond trivial integration tests.
another thorough read-through of the sqlite API intro, with unit tests to match; especially...
ToSql
/FromSql
can now be implemented by clients,
but the types
module probably doesn't hit the 80% mark yet;
e.g. it's missing uint and &[u8].
investigate test coverage tools for rust
basic benchmarking
I was looking into sandstorm, a personal cloud platform with an architecture based on the wonderful capability security paradigm, and I found a rust application, acronymy, that uses the native API rather than the traditional POSIX environment.
I started poring over the code and followed the dependency link to
linuxfood's rustsqlite. I started working on a memory safety
issue etc. but soon found a number of large-scale API design
issues that I wasn't sure how to approach with the upstream
developers. I was also inspired by FromSql
, ToSql
and such
from sfackler's rust-postgres API.
So I started from scratch, using bindgen, Result
(sum types) etc.