Commit c04a8580 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 52e73d14
...@@ -821,6 +821,7 @@ retry: ...@@ -821,6 +821,7 @@ retry:
toinvalidate[file] = finv toinvalidate[file] = finv
} }
// XXX use δfile blocks -> finv.blkmap // XXX use δfile blocks -> finv.blkmap
// TODO invalidate .size only if key >= maxkey was changed
finv.size = true finv.size = true
file.δtail.Append(δF.Rev, δfile.Elements()) file.δtail.Append(δF.Rev, δfile.Elements())
......
...@@ -211,7 +211,7 @@ func (δBtail *ΔBtail) Track(path []Node) { // XXX Tree|Bucket; path[0] = root ...@@ -211,7 +211,7 @@ func (δBtail *ΔBtail) Track(path []Node) { // XXX Tree|Bucket; path[0] = root
func (δBtail *ΔBtail) Update(δZ *zodb.EventCommit) ΔB { func (δBtail *ΔBtail) Update(δZ *zodb.EventCommit) ΔB {
δBtail.δZtail.Append(δZ.Tid, δZ.Changev) δBtail.δZtail.Append(δZ.Tid, δZ.Changev)
// {} root -> []oid changed under that root // {} root -> []oid changed under that root in tracked set
δZByRoot := map[*Tree][]zodb.Oid{} // XXX -> map[*Tree]SetOid ? δZByRoot := map[*Tree][]zodb.Oid{} // XXX -> map[*Tree]SetOid ?
for _, δ := range δZ.Changev { for _, δ := range δZ.Changev {
roots, ok := δBtail.trackIdx[δ] roots, ok := δBtail.trackIdx[δ]
...@@ -225,17 +225,13 @@ func (δBtail *ΔBtail) Update(δZ *zodb.EventCommit) ΔB { ...@@ -225,17 +225,13 @@ func (δBtail *ΔBtail) Update(δZ *zodb.EventCommit) ΔB {
δB := ΔB{Rev: δZ.Tid, Change: make(map[*Tree]map[Key]Value)} δB := ΔB{Rev: δZ.Tid, Change: make(map[*Tree]map[Key]Value)}
if len(δZByRoot) == 0 {
return δB // tracked set not changed
}
// XXX stub to get file.size invalidation working
for root := range δZByRoot { for root := range δZByRoot {
δt, ok := δB.Change[root] δt, ok := δB.Change[root]
if !ok { if !ok {
δt = make(map[Key]Value) δt = make(map[Key]Value)
δB.Change[root] = δt δB.Change[root] = δt
} }
// XXX stub to get file.size invalidation working
// TODO update δt // TODO update δt
} }
return δB return δB
......
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