MCPcopy Create free account
hub / github.com/encoder-run/operator / fetchNextBatch

Method fetchNextBatch

pkg/cache/postgres/object.go:127–149  ·  view source on GitHub ↗

fetchNextBatch fetches the next batch of encoded objects from the database.

()

Source from the content-addressed store, hash-verified

125
126// fetchNextBatch fetches the next batch of encoded objects from the database.
127func (iter *EncodedObjectIter) fetchNextBatch() error {
128 var results []database.Object
129 result := iter.db.Where("url = ? AND type = ?", iter.namespacePrefix, iter.objectType.String()).Offset(iter.offset).Limit(iter.limit).Find(&results)
130 if result.Error != nil {
131 iter.moreData = false
132 return result.Error
133 }
134 iter.offset += len(results)
135 iter.moreData = len(results) == iter.limit
136
137 // Convert database objects to MemoryObject
138 iter.objects = make([]*plumbing.MemoryObject, len(results))
139 for i, dbObj := range results {
140 o := plumbing.MemoryObject{}
141 o.SetType(iter.objectType)
142 o.SetSize(dbObj.Size)
143 if _, err := o.Write(dbObj.Blob); err != nil {
144 return err
145 }
146 iter.objects[i] = &o
147 }
148 return nil
149}
150
151// Next retrieves the next encoded object, advancing the iterator.
152func (iter *EncodedObjectIter) Next() (plumbing.EncodedObject, error) {

Callers 1

NextMethod · 0.95

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected