diff --git a/pkg/expr/func_arr.go b/pkg/expr/func_arr.go index 2a778fcfb..807b4cfcc 100644 --- a/pkg/expr/func_arr.go +++ b/pkg/expr/func_arr.go @@ -105,6 +105,10 @@ func count(arr interface{}, v ...interface{}) (count int, err error) { arr = UntypedValue(arr) if stv, is := arr.([]TypedValue); is { + if len(v) == 0 { + return len(stv), nil + } + for _, vv := range v { if occ, err := find(stv, vv); err != nil { return 0, err