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

Method compileSearch

compiler/rungen/expr.go:134–150  ·  view source on GitHub ↗
(search *dag.SearchExpr)

Source from the content-addressed store, hash-verified

132}
133
134func (b *Builder) compileSearch(search *dag.SearchExpr) (expr.Evaluator, error) {
135 val, err := sup.ParseValue(b.sctx(), search.Value)
136 if err != nil {
137 return nil, err
138 }
139 e, err := b.compileExpr(search.Expr)
140 if err != nil {
141 return nil, err
142 }
143 if super.TypeUnder(val.Type()) == super.TypeString {
144 // Do a grep-style substring search instead of an
145 // exact match on each value.
146 term := norm.NFC.Bytes(val.Bytes())
147 return expr.NewSearchString(string(term), e), nil
148 }
149 return expr.NewSearch(search.Text, val, e)
150}
151
152func (b *Builder) compileSliceExpr(slice *dag.SliceExpr) (expr.Evaluator, error) {
153 e, err := b.compileExpr(slice.Expr)

Callers 1

compileExprMethod · 0.95

Implementers 15

DynamicBuildervector/builder.go
recordBuildervector/builder.go
arraySetBuildervector/builder.go
mapBuildervector/builder.go
unionBuildervector/builder.go
fusionBuildervector/builder.go
enumBuildervector/builder.go
intBuildervector/builder.go
uintBuildervector/builder.go
floatBuildervector/builder.go
boolBuildervector/builder.go
bytesStringTypeBuildervector/builder.go

Calls 8

sctxMethod · 0.95
compileExprMethod · 0.95
ParseValueFunction · 0.92
TypeUnderFunction · 0.92
NewSearchStringFunction · 0.92
NewSearchFunction · 0.92
TypeMethod · 0.65
BytesMethod · 0.45

Tested by

no test coverage detected