pub fn execute_transaction(
root: &ProjectRoot,
ops: Vec<TransactionOp>,
) -> Result<TransactionResult, AqlError>Expand description
Execute a declarative transaction: apply ops to an in-memory buffer, then
flush to disk only if all ops succeed. On error nothing is written.
Note: the atomicity guarantee covers the mutation phase (buffer). The write phase flushes files one at a time — a disk failure mid-flush leaves some files written and some not. Use the WAL-backed variant for full crash safety.