(done bool, _ int)
| 97 | } |
| 98 | |
| 99 | func (d *Dematerializer) ConcurrentPull(done bool, _ int) (vector.Any, error) { |
| 100 | d.mu.Lock() |
| 101 | batch, err := d.parent.Pull(done) |
| 102 | d.mu.Unlock() |
| 103 | if batch == nil || err != nil { |
| 104 | return nil, err |
| 105 | } |
| 106 | defer batch.Unref() |
| 107 | builder := vector.NewDynamicBuilder() |
| 108 | for _, val := range batch.Values() { |
| 109 | builder.Write(val) |
| 110 | } |
| 111 | return builder.Build(d.sctx), nil |
| 112 | } |
| 113 | |
| 114 | func WriteVec(w sio.Writer, vec vector.Any) error { |
| 115 | for _, val := range Materialize(vec).Values() { |