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

Method Last

driver/crdt/iterator.go:46–63  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

44}
45
46func (it *Iterator) Last() {
47 q := query.Query{
48 Orders: []query.Order{query.OrderByKeyDescending{}},
49 Filters: []query.Filter{
50 query.FilterKeyCompare{Key: it.seekKey, Op: query.LessThanOrEqual},
51 },
52 }
53 if len(it.seekKey) > 5 {
54 q.Filters = append(q.Filters, query.FilterKeyPrefix{Prefix: it.seekKey[:5]})
55 }
56 result, err := it.db.db.Query(it.db.ctx, q)
57 if err != nil {
58 logrus.Errorf("failed to query database: %v", err)
59 return
60 }
61 it.results = result
62 it.current = <-it.results.Next()
63}
64
65func (it *Iterator) Seek(key []byte) {
66 it.seekKey = fmt.Sprintf("/%s", string(it.db.EncodeKey(key)))

Callers

nothing calls this directly

Calls 1

NextMethod · 0.45

Tested by

no test coverage detected