From 93c97a6237f4812025c564f47e2d7f3297f01dc7 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Guerraz <861556+jbguerraz@users.noreply.github.com> Date: Wed, 30 Dec 2020 18:19:44 +0100 Subject: [PATCH] Query settings debug --- pkg/druid.go | 22 +++++++++++++------ .../DruidQueryFormatSettings.tsx | 4 ++-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/pkg/druid.go b/pkg/druid.go index a76008a..6ffad73 100644 --- a/pkg/druid.go +++ b/pkg/druid.go @@ -289,9 +289,15 @@ func (ds *druidDatasource) prepareQuery(qry []byte, s *druidInstanceSettings) (d if err != nil { return nil, nil, err } - q.Builder["context"] = ds.mergeQueryContexts( - ds.prepareQueryContext(s.queryContextParameters), - ds.prepareQueryContext(q.Settings["contextParameters"].([]interface{}))) + + if queryContextParameters, ok := q.Settings["contextParameters"]; ok { + q.Builder["context"] = ds.mergeQueryContexts( + ds.prepareQueryContext(s.queryContextParameters), + ds.prepareQueryContext(queryContextParameters.([]interface{}))) + } else { + q.Builder["context"] = ds.prepareQueryContext(s.queryContextParameters) + } + jsonQuery, err := json.Marshal(q.Builder) if err != nil { @@ -307,9 +313,11 @@ func (ds *druidDatasource) prepareQuery(qry []byte, s *druidInstanceSettings) (d func (ds *druidDatasource) prepareQueryContext(parameters []interface{}) map[string]interface{} { ctx := make(map[string]interface{}) - for _, parameter := range parameters { - p := parameter.(map[string]interface{}) - ctx[p["name"].(string)] = p["value"] + if parameters != nil { + for _, parameter := range parameters { + p := parameter.(map[string]interface{}) + ctx[p["name"].(string)] = p["value"] + } } return ctx } @@ -786,7 +794,7 @@ func (ds *druidDatasource) prepareResponse(resp *druidResponse, settings map[str } frame.Fields = append(frame.Fields, data.NewField(c.Name, nil, ff)) } - if settings["format"].(string) == "wide" && len(frame.Fields) > 0 { + if format, ok := settings["format"]; ok && format.(string) == "wide" && len(frame.Fields) > 0 { f, err := data.LongToWide(frame, nil) if err == nil { frame = f diff --git a/src/configuration/QuerySettings/DruidQueryFormatSettings.tsx b/src/configuration/QuerySettings/DruidQueryFormatSettings.tsx index 7c6af86..e2e4bd4 100644 --- a/src/configuration/QuerySettings/DruidQueryFormatSettings.tsx +++ b/src/configuration/QuerySettings/DruidQueryFormatSettings.tsx @@ -10,13 +10,13 @@ export class DruidQueryFormatSettings extends PureComponent const { settings } = this.props.options; if (settings.format === undefined) { - settings.format = 'wide'; + settings.format = 'long'; } } selectOptions: Array> = [ - { label: 'Wide', value: 'wide' }, { label: 'Long', value: 'long' }, + { label: 'Wide', value: 'wide' }, ]; selectOptionByValue = (value?: string): SelectableValue | undefined => {