diff --git a/lib/logstorage/block_result.go b/lib/logstorage/block_result.go index a67740148..abce4a318 100644 --- a/lib/logstorage/block_result.go +++ b/lib/logstorage/block_result.go @@ -1599,6 +1599,17 @@ func (c *blockResultColumn) getMaxValue(br *blockResult) float64 { } } return max + case valueTypeFloat64: + max := nan + for _, v := range c.encodedValues { + b := bytesutil.ToUnsafeBytes(v) + n := encoding.UnmarshalUint64(b) + f := math.Float64frombits(n) + if math.IsNaN(max) || f > max { + max = f + } + } + return max case valueTypeIPv4: return nan case valueTypeTimestampISO8601: @@ -1696,6 +1707,17 @@ func (c *blockResultColumn) getMinValue(br *blockResult) float64 { } } return min + case valueTypeFloat64: + min := nan + for _, v := range c.encodedValues { + b := bytesutil.ToUnsafeBytes(v) + n := encoding.UnmarshalUint64(b) + f := math.Float64frombits(n) + if math.IsNaN(min) || f < min { + min = f + } + } + return min case valueTypeIPv4: return nan case valueTypeTimestampISO8601: