MCPcopy
hub / github.com/grafana/tempo / rewriteScalarExpression

Method rewriteScalarExpression

pkg/traceql/ast_rewriter.go:186–204  ·  view source on GitHub ↗
(se ScalarExpression)

Source from the content-addressed store, hash-verified

184}
185
186func (f *fieldExpressionRewriter) rewriteScalarExpression(se ScalarExpression) (ScalarExpression, int) {
187 switch se := se.(type) {
188 case Pipeline:
189 return f.rewritePipeline(se)
190 case ScalarOperation:
191 lhs, n1 := f.rewriteScalarExpression(se.LHS)
192 rhs, n2 := f.rewriteScalarExpression(se.RHS)
193 return newScalarOperation(se.Op, lhs, rhs), n1 + n2
194 case Aggregate:
195 fe, n := f.rewriteFieldExpression(se.e)
196 return newAggregate(se.op, fe), n
197 case Static:
198 fe, n := f.rewriteFieldExpression(se)
199 if s, ok := fe.(Static); ok {
200 return s, n
201 }
202 }
203 return se, 0
204}
205
206func (f *fieldExpressionRewriter) rewriteFieldExpression(fe FieldExpression) (FieldExpression, int) {
207 var rwCount int

Callers 2

rewritePipelineMethod · 0.95

Calls 4

rewritePipelineMethod · 0.95
newScalarOperationFunction · 0.85
newAggregateFunction · 0.85

Tested by

no test coverage detected