From 99d5f75419edd00cf153e35d917e5d8b0730f7ce Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Sat, 3 Apr 2021 08:26:17 +0200 Subject: [PATCH] Ensure CastToFloat gets untyped value --- pkg/expr/expr_types.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/expr/expr_types.go b/pkg/expr/expr_types.go index f693ac448..560465f43 100644 --- a/pkg/expr/expr_types.go +++ b/pkg/expr/expr_types.go @@ -339,6 +339,14 @@ func CastToDateTime(val interface{}) (out *time.Time, err error) { } func CastToFloat(val interface{}) (out float64, err error) { + val = UntypedValue(val) + switch val := val.(type) { + case nil: + return 0, nil + case *Float: + return val.value, nil + } + return cast.ToFloat64E(emptyStringFailsafe(val)) }