From 754329421c593c01dec25dc77eefa5d58d638fb5 Mon Sep 17 00:00:00 2001 From: ricoberger Date: Tue, 23 Sep 2025 08:51:27 +0200 Subject: [PATCH] [plugin-klogs] Fix Autocomplete Handling --- pkg/plugins/klogs/instance/instance.go | 23 ++++++--------------- pkg/plugins/klogs/instance/instance_test.go | 11 +++------- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/pkg/plugins/klogs/instance/instance.go b/pkg/plugins/klogs/instance/instance.go index c3ce7016..956db33e 100644 --- a/pkg/plugins/klogs/instance/instance.go +++ b/pkg/plugins/klogs/instance/instance.go @@ -32,7 +32,7 @@ type Config struct { MaxIdleConns int `json:"maxIdleConns"` MaxOpenConns int `json:"maxOpenConns"` MaterializedColumns []string `json:"materializedColumns"` - AutocompleteFields Fields `json:"autocompleteFields"` + AutocompleteFields []string `json:"autocompleteFields"` Settings map[string]any `json:"settings"` } @@ -69,7 +69,7 @@ type instance struct { materializedColumns []string defaultFields []string cachedFields Fields - autocompleteFields Fields + autocompleteFields []string sqlParser parser.SQLParser } @@ -153,21 +153,9 @@ func (i *instance) refreshCachedFields() []string { func (i *instance) GetFields(filter string, fieldType string) []string { var fields []string - if fieldType == "string" || fieldType == "" { - for _, field := range i.autocompleteFields.String { - if strings.Contains(field, filter) { - fields = append(fields, field) - } - } - - fields = append(fields, i.defaultFields...) - } - - if fieldType == "number" || fieldType == "" { - for _, field := range i.autocompleteFields.Number { - if strings.Contains(field, filter) { - fields = append(fields, field) - } + for _, field := range i.autocompleteFields { + if strings.Contains(field, filter) { + fields = append(fields, field) } } @@ -245,6 +233,7 @@ func New(name string, options map[string]any) (Instance, error) { querier: newQuerierFromConfig(config), defaultFields: defaultFields, materializedColumns: config.MaterializedColumns, + autocompleteFields: config.AutocompleteFields, sqlParser: parser.NewSQLParser(defaultFields, nil), } diff --git a/pkg/plugins/klogs/instance/instance_test.go b/pkg/plugins/klogs/instance/instance_test.go index 2ec82857..8276fe13 100644 --- a/pkg/plugins/klogs/instance/instance_test.go +++ b/pkg/plugins/klogs/instance/instance_test.go @@ -11,16 +11,11 @@ import ( func TestGetFields(t *testing.T) { t.Run("should be able to fetch cached fields", func(t *testing.T) { instance := instance{ - autocompleteFields: Fields{ - Number: []string{"cached_number_field", "searchable_field"}, - String: []string{"cached_string_field", "searchable_field"}, - }, + autocompleteFields: []string{"cached_number_field", "cached_string_field", "searchable_field"}, } - require.Equal(t, []string{"cached_string_field", "searchable_field"}, instance.GetFields("", "string")) - require.Equal(t, []string{"cached_number_field", "searchable_field"}, instance.GetFields("", "number")) - require.Equal(t, []string{"searchable_field"}, instance.GetFields("search", "string")) - require.Equal(t, []string{"searchable_field"}, instance.GetFields("search", "number")) + require.Equal(t, []string{"cached_number_field", "cached_string_field", "searchable_field"}, instance.GetFields("", "")) + require.Equal(t, []string{"searchable_field"}, instance.GetFields("search", "")) }) }