datom-0.1.1-pre4 doesn't have any documentation.
An open-source database inspired by Datomic.
// SPDX-FileCopyrightText: 2021 Lutris Engineering, Inc
// SPDX-License-Identifier: BlueOak-1.0.0 OR BSD-2-Clause-Patent
// SPDX-FileContributor: Piper McCorkle <piper@lutris.engineering>
Currently built on top of sled, a modern embedded database, and is only suitable for embedded usage. Future multi-peer support is planned.
If you aren't already familiar with Datomic, it might help to look over Datomic's excellent documentation. To the user, datom-rs functions extremely similarly to Datomic.
use ;
// Use the sled storage backend to create a temporary database
let storage = connect_temp?;
// Create a connection from that backend
let conn = new;
// Create an ID to use for the username attribute
let username = ID new;
// Create an ID to use for the user's entity
let user = ID new;
// Create a transaction setting the username attribute on the user
// entity to "pmc"
let mut tx = new;
tx.add;
// Execute the transaction using the connection
conn.transact?;
// Get a view of the database in the current point in time
let db = conn.db?;
// Get the value of the username attribute on the user entity
if let Value = db.entity?.get?
# assert_eq!;
# Ok::