transform_plugin: pass encoded dataframes through (#20333)
This commit is contained in:
@@ -239,18 +239,23 @@ func (s *grafanaAPI) QueryDatasource(ctx context.Context, req *pluginv2.QueryDat
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// Convert tsdb results (map) to plugin-model/datasource (slice) results
|
// Convert tsdb results (map) to plugin-model/datasource (slice) results.
|
||||||
// Only error and Series responses mapped.
|
// Only error, tsdb.Series, and encoded Dataframes responses are mapped.
|
||||||
results := make([]*pluginv2.DatasourceQueryResult, len(tsdbRes.Results))
|
results := make([]*pluginv2.DatasourceQueryResult, 0, len(tsdbRes.Results))
|
||||||
resIdx := 0
|
|
||||||
for refID, res := range tsdbRes.Results {
|
for refID, res := range tsdbRes.Results {
|
||||||
qr := &pluginv2.DatasourceQueryResult{
|
qr := &pluginv2.DatasourceQueryResult{
|
||||||
RefId: refID,
|
RefId: refID,
|
||||||
}
|
}
|
||||||
|
|
||||||
if res.Error != nil {
|
if res.Error != nil {
|
||||||
qr.Error = res.ErrorString
|
qr.Error = res.ErrorString
|
||||||
results[resIdx] = qr
|
results = append(results, qr)
|
||||||
resIdx++
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.Dataframes != nil {
|
||||||
|
qr.Dataframes = append(qr.Dataframes, res.Dataframes...)
|
||||||
|
results = append(results, qr)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,9 +271,7 @@ func (s *grafanaAPI) QueryDatasource(ctx context.Context, req *pluginv2.QueryDat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
qr.Dataframes = encodedFrames
|
qr.Dataframes = encodedFrames
|
||||||
results[resIdx] = qr
|
results = append(results, qr)
|
||||||
|
|
||||||
resIdx++
|
|
||||||
}
|
}
|
||||||
return &pluginv2.QueryDatasourceResponse{Results: results}, nil
|
return &pluginv2.QueryDatasourceResponse{Results: results}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user