diff --git a/pkg/sqlcache/informer/listoption_indexer.go b/pkg/sqlcache/informer/listoption_indexer.go index 5a00eb17..2e3f159a 100644 --- a/pkg/sqlcache/informer/listoption_indexer.go +++ b/pkg/sqlcache/informer/listoption_indexer.go @@ -499,7 +499,7 @@ func (l *ListOptionIndexer) addIndexFields(key string, obj any, tx transaction.C switch typedValue := value.(type) { case nil: args = append(args, "") - case int, bool, string: + case int, bool, string, int64, float64: args = append(args, fmt.Sprint(typedValue)) case []string: args = append(args, strings.Join(typedValue, "|")) diff --git a/pkg/sqlcache/informer/listoption_indexer_test.go b/pkg/sqlcache/informer/listoption_indexer_test.go index 490f0f9e..844ec8cd 100644 --- a/pkg/sqlcache/informer/listoption_indexer_test.go +++ b/pkg/sqlcache/informer/listoption_indexer_test.go @@ -1855,7 +1855,11 @@ func TestWatchMany(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) opts := ListOptionIndexerOptions{ - Fields: [][]string{{"metadata", "somefield"}}, + Fields: [][]string{ + {"metadata", "somefield"}, + {"spec", "replicas"}, + {"spec", "minReplicas"}, + }, IsNamespaced: true, } loi, err := makeListOptionIndexer(ctx, opts) @@ -1902,6 +1906,10 @@ func TestWatchMany(t *testing.T) { "metadata": map[string]any{ "name": "foo", }, + "spec": map[string]any{ + "replicas": int64(1), + "minReplicas": float64(1.0), + }, }, } foo.SetResourceVersion("100")