MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / Seek

Method Seek

driver/crdt/iterator.go:65–84  ·  view source on GitHub ↗
(key []byte)

Source from the content-addressed store, hash-verified

63}
64
65func (it *Iterator) Seek(key []byte) {
66 it.seekKey = fmt.Sprintf("/%s", string(it.db.EncodeKey(key)))
67 q := query.Query{
68 Orders: []query.Order{query.OrderByKey{}},
69 Filters: []query.Filter{
70 query.FilterKeyCompare{Key: it.seekKey, Op: query.GreaterThanOrEqual},
71 },
72 }
73 if len(it.seekKey) > 5 {
74 q.Filters = append(q.Filters, query.FilterKeyPrefix{Prefix: it.seekKey[:5]})
75 }
76
77 result, err := it.db.db.Query(it.db.ctx, q)
78 if err != nil {
79 logrus.Errorf("failed to query database: %v", err)
80 return
81 }
82 it.results = result
83 it.current = <-it.results.Next()
84}

Callers 1

FirstMethod · 0.95

Calls 2

EncodeKeyMethod · 0.80
NextMethod · 0.45

Tested by

no test coverage detected