Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wendelin.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Joshua
wendelin.core
Commits
6174e198
Commit
6174e198
authored
Apr 03, 2019
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
ddec8cf5
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
4 deletions
+7
-4
wcfs/internal/xbtree/δbtail.go
wcfs/internal/xbtree/δbtail.go
+7
-4
No files found.
wcfs/internal/xbtree/δbtail.go
View file @
6174e198
...
@@ -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 repr
e
sents 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 concur
r
ency 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?
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment