MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / getDataByRange

Method getDataByRange

pending.go:122–143  ·  view source on GitHub ↗
(
	start, end []byte, bucketName core.BucketName,
)

Source from the content-addressed store, hash-verified

120}
121
122func (pending *pendingEntryList) getDataByRange(
123 start, end []byte, bucketName core.BucketName,
124) (keys, values [][]byte) {
125
126 mp, ok := pending.entriesInBTree[bucketName]
127 if !ok {
128 return nil, nil
129 }
130 keys = make([][]byte, 0)
131 values = make([][]byte, 0)
132 for _, v := range mp {
133 if bytes.Compare(start, v.Key) <= 0 && bytes.Compare(v.Key, end) <= 0 {
134 keys = append(keys, v.Key)
135 values = append(values, v.Value)
136 }
137 }
138 sort.Sort(&sortkv{
139 k: keys,
140 v: values,
141 })
142 return
143}
144
145// rangeBucket input a range handler function f and call it with every bucket in pendingBucketList
146func (p pendingBucketList) rangeBucket(f func(bucket *core.Bucket) error) error {

Callers 1

RangeScanEntriesMethod · 0.80

Calls 1

appendFunction · 0.85

Tested by

no test coverage detected