MadMode

Dan Connolly's tinkering lab notebook

Rust-Sqlite3 -- Rustic bindings for sqlite3

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.

Thanks to apoelstra and others in the rust community IRC channel, I'm making pretty good progress. The API isn't stable yet; testing continues to turn up issues at a pretty high rate. But it's getting there.

Open source collaboration and QA tools are great these days. Not only do we have rust-sqlite3 on github, but every time I push there: