MCPcopy Create free account
hub / github.com/uber/aresdb / processDimensions

Method processDimensions

broker/query_compiler.go:284–310  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

282}
283
284func (qc *QueryContext) processDimensions() {
285 rawDims := qc.AQLQuery.Dimensions
286 qc.AQLQuery.Dimensions = []common.Dimension{}
287 qc.DimensionVectorIndex = make([]int, len(rawDims))
288 for _, dim := range rawDims {
289 var err error
290 dim.ExprParsed, err = expr.ParseExpr(dim.Expr)
291 if err != nil {
292 qc.Error = utils.StackError(err, "Failed to parse dimension: %s", dim.Expr)
293 return
294 }
295 if _, ok := dim.ExprParsed.(*expr.Wildcard); ok && qc.IsNonAggregationQuery {
296 qc.AQLQuery.Dimensions = append(qc.AQLQuery.Dimensions, qc.getAllColumnsDimension()...)
297 } else {
298 qc.AQLQuery.Dimensions = append(qc.AQLQuery.Dimensions, dim)
299 }
300 }
301
302 for idx, dim := range qc.AQLQuery.Dimensions {
303 dim.ExprParsed = expr.Rewrite(qc, dim.ExprParsed)
304 if vr, ok := dim.ExprParsed.(*expr.VarRef); ok {
305 if len(vr.EnumReverseDict) > 0 {
306 qc.DimensionEnumReverseDicts[idx] = vr.EnumReverseDict
307 }
308 }
309 }
310}
311
312func (qc *QueryContext) sortDimensionColumns() {
313 orderedIndex := 0

Callers 1

CompileMethod · 0.95

Calls 4

ParseExprFunction · 0.92
StackErrorFunction · 0.92
RewriteFunction · 0.92

Tested by

no test coverage detected