Commit 192343fb authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 464b0dd7
......@@ -56,28 +56,17 @@ type Value = zodb.Oid // XXX assumes key points to IPersistent
// atTail:
// {} root -> {}(key, value)
//
// It covers changes to keys from tracked subset of BTrees parts and
// semantically consists of
// It covers only changes to keys from tracked subset of BTrees parts.
// In particular a key that was not explicitly requested to be tracked, even if
// it was changes in δZ, is not guaranted to be present in δB.
//
// # trees changed by a revision
// [](rev↑, []root) ; rev ∈ (tail, head]
// ΔTail provides the following operations:
//
// # for every tree:
// {} root ->
// # k/v change history ; rev ∈ (tail, head]
// [](rev↑, {}(key, value))
// .Track(path) - start tracking tree nodes and keys; root=path[0], keys=path[-1].keys
//
// # set of k/v @tail for keys changed in (tail, head].
// {}(key, value)
//
// A tree nodes become tracked via Track(path) request.
//
// It provides the following operations:
//
// - Track(path) - start tracking tree nodes and keys; root=path[0], keys=path[-1].keys
// - ForgetPast(revCut) - forget changes past revCut
// - Get(root, key, at) - get root[key] @at assuming root[key] ∈ tracked
// - Update(δZ) -> δB - update BTree δ tail given raw ZODB changes
// .Update(δZ) -> δB - update BTree δ tail given raw ZODB changes
// .ForgetPast(revCut) - forget changes past revCut
// .Get(root, key, at) - get root[key] @at assuming root[key] ∈ tracked
//
// An example for tracked set is a set of visited BTree paths.
// There is no requirement that tracked set belongs to only one single BTree.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment