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

Method exec

runtime/vam/op/cachedsubquery.go:30–49  ·  view source on GitHub ↗

exec executes c.body and returns a vector of length 1.

()

Source from the content-addressed store, hash-verified

28
29// exec executes c.body and returns a vector of length 1.
30func (c *cachedSubquery) exec() vector.Any {
31 var vecs []vector.Any
32 for {
33 vec, err := c.body.Pull(false)
34 if err != nil {
35 return vector.NewStringError(c.sctx, err.Error(), 1)
36 }
37 if vec == nil {
38 break
39 }
40 vecs = append(vecs, vec)
41 }
42 if len(vecs) == 0 {
43 return vector.NewNull(1)
44 }
45 if len(vecs) == 1 && vecs[0].Len() == 1 {
46 return vecs[0]
47 }
48 return c.newArray(c.vectorConcat(vecs))
49}
50
51// newArray returns a vector whose single element is an array of elems.
52func (c *cachedSubquery) newArray(elems vector.Any) vector.Any {

Callers 1

EvalMethod · 0.95

Calls 7

newArrayMethod · 0.95
vectorConcatMethod · 0.95
NewStringErrorFunction · 0.92
NewNullFunction · 0.92
PullMethod · 0.65
LenMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected