Crate filedb[][src]

filedb is simple file-based data. It becomes a rust version of the golang implementation of the following repository.

https://github.com/matryer/filedb

Install

Add the following to your

Cargo.toml

[package]
name = "some-project"
version = "1.0.0"
authors = ["my name <hoge@fuga.com>"]
 
[dependencies]
filedb = "0.1.2"

Usage

main.rs

extern crate filedb;
 
use filedb::FileDB;
use filedb::callback::*;
 
fn main() {
    let mut db = FileDB::connect("/tmp/db").unwrap();
    let mut col = match db.c("documents") {
        Ok(c) => c.lock().unwrap(),
        Err(err) => {
            println!("[filedb] failed instance col struct.");
            return;
        },
    };
    let res = col.for_each(|index, data| {
        println!("index: {}, text: {}", index, String::from_utf8(data).unwrap());
 
        ForEachResultValue::new(false)
    });
 
    match res {
        Ok(_) => println!("[filedb] success!"),
        Err(err) => println!("[filedb] errror... {:?}", err),
    }
}
 

Modules

callback

カラム操作関数(select_each, for_each, remove_each)の返却値
filedbでは返却値により、ファイルを削除や修正、処理の中断などをおこなうため必要となる。

Structs

C

C構造体
カラムの管理を行う

FileDB

FileDB構造体

Enums

Error

Type Definitions

Result