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

Method spread

runtime/vam/expr/recordexpr.go:115–129  ·  view source on GitHub ↗
(vec vector.Any)

Source from the content-addressed store, hash-verified

113}
114
115func (r *recordExpr) spread(vec vector.Any) {
116 // Ignore non-record values.
117 switch vec := vector.Under(vec).(type) {
118 case *vector.Record:
119 for k, f := range super.TypeRecordOf(vec.Type()).Fields {
120 r.addOrUpdateField(f.Name, f.Opt, vec.Fields[k])
121 }
122 case *vector.View:
123 if rec, ok := vec.Any.(*vector.Record); ok {
124 for k, f := range super.TypeRecordOf(rec.Type()).Fields {
125 r.addOrUpdateField(f.Name, f.Opt, vector.Pick(rec.Fields[k], vec.Index))
126 }
127 }
128 }
129}

Callers 1

evalMethod · 0.95

Calls 5

addOrUpdateFieldMethod · 0.95
UnderFunction · 0.92
TypeRecordOfFunction · 0.92
PickFunction · 0.92
TypeMethod · 0.65

Tested by

no test coverage detected