MCPcopy Create free account
hub / github.com/brimdata/super / pickSlot

Method pickSlot

runtime/vam/op/nestedloopjoin.go:148–161  ·  view source on GitHub ↗
(vec vector.Any, slot, length uint32)

Source from the content-addressed store, hash-verified

146}
147
148func (n *nestedLoopJoin) pickSlot(vec vector.Any, slot, length uint32) vector.Any {
149 if l := int(vec.Len()); l > len(n.pickSlotIndexes) {
150 n.pickSlotIndexes = slices.Grow(n.pickSlotIndexes[:0], l)[:l]
151 }
152 index := n.pickSlotIndexes[slot]
153 if len(index) < int(length) {
154 index = slices.Grow(index[:0], int(length))[:length]
155 for i := range index {
156 index[i] = slot
157 }
158 n.pickSlotIndexes[slot] = index
159 }
160 return vector.Pick(vec, index[:length])
161}
162
163func (n *nestedLoopJoin) makeResult(vecs ...vector.Any) vector.Any {
164 left, right := vecs[0], vecs[1]

Callers 1

joinMethod · 0.95

Calls 3

PickFunction · 0.92
GrowMethod · 0.80
LenMethod · 0.65

Tested by

no test coverage detected