MCPcopy
hub / github.com/etcd-io/bbolt / cloneBucket

Function cloneBucket

utils_test.go:30–47  ·  utils_test.go::cloneBucket
(src *bolt.Bucket, dst *bolt.Bucket)

Source from the content-addressed store, hash-verified

28}
29
30func cloneBucket(src *bolt.Bucket, dst *bolt.Bucket) error {
31 return src.ForEach(func(k, v []byte) error {
32 if v == nil {
33 srcChild := src.Bucket(k)
34 dstChild, err := dst.CreateBucket(k)
35 if err != nil {
36 return err
37 }
38 if err = dstChild.SetSequence(srcChild.Sequence()); err != nil {
39 return err
40 }
41
42 return cloneBucket(srcChild, dstChild)
43 }
44
45 return dst.Put(k, v)
46 })
47}

Callers 1

dumpBucketFunction · 0.85

Calls 6

SetSequenceMethod · 0.80
SequenceMethod · 0.80
ForEachMethod · 0.45
BucketMethod · 0.45
CreateBucketMethod · 0.45
PutMethod · 0.45

Tested by

no test coverage detected