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

Function missingOrQuiet

runtime/vam/expr/function/has.go:51–90  ·  view source on GitHub ↗
(verr *vector.Error)

Source from the content-addressed store, hash-verified

49}
50
51func missingOrQuiet(verr *vector.Error) *roaring.Bitmap {
52 b := roaring.New()
53 inner := verr.Vals
54 if inner.Type() != super.TypeString {
55 return b
56 }
57 switch inner := inner.(type) {
58 case *vector.Const:
59 s := vector.StringValue(inner, 0)
60 if s == "missing" || s == "quiet" {
61 b.AddRange(0, uint64(inner.Len()))
62 }
63 case *vector.View:
64 vec := inner.Any.(*vector.String)
65 for i := range inner.Len() {
66 s := vec.Value(inner.Index[i])
67 if s == "missing" || s == "quiet" {
68 b.Add(i)
69 }
70 }
71 case *vector.Dict:
72 vec := inner.Any.(*vector.String)
73 for i := range inner.Len() {
74 s := vec.Value(uint32(inner.Index[i]))
75 if s == "missing" || s == "quiet" {
76 b.Add(i)
77 }
78 }
79 case *vector.String:
80 for i := range inner.Len() {
81 s := inner.Value(i)
82 if s == "missing" || s == "quiet" {
83 b.Add(i)
84 }
85 }
86 default:
87 panic(inner)
88 }
89 return b
90}

Callers 1

CallMethod · 0.85

Calls 6

StringValueFunction · 0.92
NewMethod · 0.80
TypeMethod · 0.65
LenMethod · 0.65
ValueMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected