infinite-db 0.4.0

A spatial-graph database using n-dimensional curves and hyperedges for engineering logic.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Minimal embedded database: open, register a space, insert, sync, query.

use infinite_db::infinitedb_core::address::{DimensionVector, SpaceId};
use infinite_db::infinitedb_core::space::SpaceConfig;
use infinite_db::{EngineError, InfiniteDb};

fn main() -> Result<(), EngineError> {
    let dir = std::env::temp_dir().join("infinite-db-quickstart");
    let db = InfiniteDb::open(&dir)?;

    db.register_space(SpaceConfig::new(SpaceId(1), "demo", 2))?;
    db.insert(SpaceId(1), DimensionVector::new(vec![0, 0]), vec![1, 2, 3])?;
    db.sync()?;

    let rows = db.query(SpaceId(1), None)?;
    println!("{} record(s) at {:?}", rows.len(), dir);
    Ok(())
}