In-memory mini-rel-db in pure Rust?

What Rust crates best approximates the following.

Similar to SQLITE, with following differences:

  • pure Rust
  • in Memory, no disk store

So I want something that:

  1. is a relational store (not key value store)
  2. supports transactions
  3. pure Rust
  4. purely in memory, no on disk (and thus, expect pure memory performance)

It's fine if the language is datalog instead of SQL.

EDIT: (posted after @H2CO3 's suggestion): I also need this crate to support a REPL.

Maybe mem_query by @2e71828?


I knew I forgot something: I need a REPL too :-).

You might be able to write a REPL for mem_query if your schema is known at compile time, but there's a very good chance the compiler would fall over trying to figure out the query planning.

@zeroexcuses Do you know what your relations look like ahead of time?
Or is it more of a DBMS scenario where you want to deal with new relations encountered at runtime?