Commit 6174e198 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent ddec8cf5
...@@ -35,7 +35,7 @@ type Bucket = btree.LOBucket ...@@ -35,7 +35,7 @@ type Bucket = btree.LOBucket
type Node = btree.LONode type Node = btree.LONode
type Key = int64 type Key = int64
// ΔTail reprsents tail of revisional changes to BTrees. // ΔTail represents tail of revisional changes to BTrees.
// //
// It semantically consists of // It semantically consists of
// //
...@@ -48,7 +48,7 @@ type Key = int64 ...@@ -48,7 +48,7 @@ type Key = int64
// that ∈ BTree subgraphs that were explicitly requested to be tracked by δB. // that ∈ BTree subgraphs that were explicitly requested to be tracked by δB.
// //
// XXX incremental; not full coverage // XXX incremental; not full coverage
// XXX concurency safety // XXX concurrency safety
type ΔTail struct { type ΔTail struct {
//at // = head //at // = head
δZtail *zodb.ΔTail δZtail *zodb.ΔTail
...@@ -69,12 +69,14 @@ type ΔRevEntry struct { ...@@ -69,12 +69,14 @@ type ΔRevEntry struct {
// ΔTree represents changes to one tree. // ΔTree represents changes to one tree.
type ΔTree struct { type ΔTree struct {
Root XXX Root XXX // XXX -> Oid?
Keyv []Key Keyv []Key
} }
// Track adds tree path to tracked set. // Track adds tree path to tracked set.
// //
// XXX tailv is rebuild to also include keys corresponding to added nodes.
//
// XXX path is at @at state. // XXX path is at @at state.
// XXX objects in path must be with .PJar().At() == .head // XXX objects in path must be with .PJar().At() == .head
// XXX path -> []oid ? // XXX path -> []oid ?
...@@ -89,7 +91,8 @@ func (δb *ΔTail) Track(path []Node) { // XXX Tree|Bucket; path[0] = root ...@@ -89,7 +91,8 @@ func (δb *ΔTail) Track(path []Node) { // XXX Tree|Bucket; path[0] = root
// Update updates δB with per-object level ZODB changes. // Update updates δB with per-object level ZODB changes.
// //
// Only those objects from δZ that belong to tracked set are guaranteed to be // Only those objects from δZ that belong to tracked set are guaranteed to be
// taken into account. // taken into account. In other words a tree history will assuredly include
// only those keys, that correspond to tracked subset of δZ.
// //
// XXX return -> [] of (root, []key) that are invalidated. // XXX return -> [] of (root, []key) that are invalidated.
// XXX -> + separate SliceByRev? or Data to get diff? // XXX -> + separate SliceByRev? or Data to get diff?
......
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