From 5e332cc55dc38f92e30faac0dfd70e3838af3343 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Mon, 14 Mar 2022 08:00:11 -0700 Subject: [PATCH] SSE: Keep FieldConfig for data source queries (#46328) (#46415) for #46325 (cherry picked from commit cab509fbe8bbb2a76886971e389d7cd65ccee0bd) Co-authored-by: Kyle Brandt --- pkg/expr/nodes.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/expr/nodes.go b/pkg/expr/nodes.go index 7a1f90c2bbe..ddc4ebd03df 100644 --- a/pkg/expr/nodes.go +++ b/pkg/expr/nodes.go @@ -328,7 +328,11 @@ func extractNumberSet(frame *data.Frame) ([]mathexp.Number, error) { } n := mathexp.NewNumber("", labels) + + // The new value fields' configs gets pointed to the one in the original frame + n.Frame.Fields[0].Config = frame.Fields[numericField].Config n.SetValue(&val) + numbers[rowIdx] = n } return numbers, nil @@ -358,6 +362,10 @@ func WideToMany(frame *data.Frame) ([]mathexp.Series, error) { f := data.NewFrameOfFieldTypes(frame.Name, l, frame.Fields[tsSchema.TimeIndex].Type(), frame.Fields[valIdx].Type()) f.Fields[0].Name = frame.Fields[tsSchema.TimeIndex].Name f.Fields[1].Name = frame.Fields[valIdx].Name + + // The new value fields' configs gets pointed to the one in the original frame + f.Fields[1].Config = frame.Fields[valIdx].Config + if frame.Fields[valIdx].Labels != nil { f.Fields[1].Labels = frame.Fields[valIdx].Labels.Copy() }