Commit f1d2aae6 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 899dbc2c
......@@ -68,7 +68,8 @@ type Value = zodb.Oid // XXX assumes key points to IPersistent
//
// ΔTail is not safe for concurrent access. XXX -> is safe to use from multiple goroutines simultaneously.
type ΔTail struct {
δZtail *zodb.ΔTail // raw ZODB changes; Kept to rebuild δBtail/byRoot after new Track
// XXX -> δZtail
ΔZtail *zodb.ΔTail // raw ZODB changes; Kept to rebuild δBtail/byRoot after new Track
δroot []ΔRoots // which BTree were changed; Noted only by keys ∈ tracket subset
byRoot map[*Tree]*ΔTreeTail // root -> k/v change history; only for keys ∈ tracket subset
......@@ -116,7 +117,7 @@ type ΔTree struct {
// Initial coverage is (at₀, at₀].
func NewΔTail(at0 zodb.Tid) *ΔTail {
return &ΔTail{
δZtail: zodb.NewΔTail(at0),
ΔZtail: zodb.NewΔTail(at0),
trackIdx: make(map[zodb.Oid]SetTree),
}
}
......@@ -124,12 +125,12 @@ func NewΔTail(at0 zodb.Tid) *ΔTail {
// Head is similar to zodb.ΔTail.Head . XXX ok?
func (δb *ΔTail) Head() zodb.Tid {
//return δb.head
return δb.δZtail.Head()
return δb.ΔZtail.Head()
}
// Tail is similar to zodb.ΔTail.Tail . XXX ok?
func (δb *ΔTail) Tail() zodb.Tid {
return δb.δZtail.Tail()
return δb.ΔZtail.Tail()
}
// XXX SliceByRev?
......@@ -178,7 +179,7 @@ func (δb *ΔTail) Track(path []Node) { // XXX Tree|Bucket; path[0] = root
//
// XXX returned [](root, []key) -> move to separate SliceByRev to get diff?
func (btail *ΔTail) Update(δZ *zodb.EventCommit) []ΔTree {
btail.δZtail.Append(δZ.Tid, δZ.Changev)
btail.ΔZtail.Append(δZ.Tid, δZ.Changev)
// {} root -> []oid changed under that root
δZByRoot := map[*Tree][]zodb.Oid{} // XXX -> map[*Tree]SetOid ?
......@@ -253,7 +254,7 @@ func (btail *ΔTail) LastRevOf(root *Tree, key Key, at zodb.Tid) (_ zodb.Tid, ex
}
func (btail *ΔTail) ForgetPast(revCut zodb.Tid) {
btail.δZtail.ForgetPast(revCut) // XXX stub
btail.ΔZtail.ForgetPast(revCut) // XXX stub
}
......
......@@ -136,7 +136,7 @@ func (f *BigFile) LastBlkRev(blk int64, at zodb.Tid) (_ zodb.Tid, exact bool) {
// blktab[blk] was changed to point to a zblk @rev.
// blk revision is max rev and when zblk changed last in (rev, at] range.
zblkRev, zblkRevExact := δf.ΔTail.δZtail.LastRevOf(zblkOid, at)
zblkRev, zblkRevExact := δf.ΔTail.ΔZtail.LastRevOf(zblkOid, at)
if zblkRev > tabRev {
return zblkRev, zblkRevExact
} else {
......
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