Development Documentation (main branch) - For stable release docs, see docs.rs/eidetica

Module transaction

Module transaction 

Source
Expand description

Transaction system for atomic database modifications

This module provides the transaction API for making atomic changes to an Eidetica database. Transactions ensure that all changes within a transaction are applied atomically and maintain proper parent-child relationships in the Merkle-CRDT DAG structure.

§Subtree Parent Management

One of the critical responsibilities of the transaction system is establishing proper subtree parent relationships. When a store (subtree) is accessed for the first time in a transaction, the system must determine the correct parent entries for that subtree. This involves:

  1. Checking for existing subtree tips (leaf nodes)
  2. If no tips exist, traversing the DAG to find reachable subtree entries
  3. Setting appropriate parent relationships (empty for first entry, or proper parents)

Re-exports§

pub use errors::TransactionError;

Modules§

errors
Transaction specific errors

Structs§

Transaction
Represents a single, atomic transaction for modifying a Database.