Commit 597329f1 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 29848a1f
...@@ -716,7 +716,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid] ...@@ -716,7 +716,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid]
Akdone := SetKey{} // already processed keys in A Akdone := SetKey{} // already processed keys in A
Bkdone := SetKey{} // ----//---- in B Bkdone := SetKey{} // ----//---- in B
// phase 1: expand A top-down driven by δZTC // phase 1: expand A top->down driven by δZTC.
// by default a node contributes to δ- // by default a node contributes to δ-
// a node ac does not contribute to δ- and can be skipped, if: // a node ac does not contribute to δ- and can be skipped, if:
// - ac is not tracked, or // - ac is not tracked, or
...@@ -738,7 +738,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid] ...@@ -738,7 +738,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid]
Akdone.Add(k) Akdone.Add(k)
Bkqueue.Add(k) Bkqueue.Add(k)
} }
// XXX ra.range -> Bqholes // XXX Bkqueue <- holes(ra.range)
ra.done = true ra.done = true
case *Tree: case *Tree:
...@@ -760,7 +760,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid] ...@@ -760,7 +760,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid]
if err != nil { return nil, err } if err != nil { return nil, err }
if ok { if ok {
// ac can be skipped // ac can be skipped
// XXX ac.range \ bc.range -> Bqholes // XXX Bkqueue <- holes(ac.range \ bc.range)
continue continue
} }
} }
...@@ -824,7 +824,6 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid] ...@@ -824,7 +824,6 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid]
if !ok { // !ok means ø tree if !ok { // !ok means ø tree
δA, err := diffB(ctx, abucket, nil); /*X*/if err != nil { return nil, err } δA, err := diffB(ctx, abucket, nil); /*X*/if err != nil { return nil, err }
} }
// XXX also process holes?
// δ <- δA // δ <- δA
err = δMerge(δ, δA); /*X*/if err != nil { return nil, err } err = δMerge(δ, δA); /*X*/if err != nil { return nil, err }
...@@ -836,6 +835,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid] ...@@ -836,6 +835,7 @@ func diffT(ctx context.Context, A, B *Tree, δZTC SetOid, trackIdx map[zodb.Oid]
Bkqueue.Add(k_) Bkqueue.Add(k_)
} }
} }
// XXX Bkqueue <- holes(a.range)
a.done = true a.done = true
} }
......
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