in pq/cursor.go [115:135]
func (c *txCursor) readInto(to []byte) ([]byte, reason) {
for len(to) > 0 {
// try to advance cursor to next page if last read did end at end of page
if c.PageBytes() == 0 {
ok, err := c.AdvancePage()
if !ok || err != nil {
return to, err
}
}
var n int
err := c.WithBytes(func(b []byte) { n = copy(to, b) })
to = to[n:]
c.cursor.off += n
if err != nil {
return to, err
}
}
return to, nil
}