From 58a5093f531d1d0e2a8093280be8b20fdd3abb2c Mon Sep 17 00:00:00 2001 From: Keenan Nemetz Date: Fri, 27 Sep 2024 10:05:34 -0700 Subject: [PATCH] cast min max values correctly --- internal/planner/max.go | 8 ++++---- internal/planner/min.go | 8 ++++---- tests/integration/query/simple/with_group_max_test.go | 2 +- tests/integration/query/simple/with_group_min_test.go | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/planner/max.go b/internal/planner/max.go index c9254550e1..d9bc90c5d0 100644 --- a/internal/planner/max.go +++ b/internal/planner/max.go @@ -221,13 +221,13 @@ func (n *maxNode) Next() (bool, error) { max = math.Max(max, collectionMax) } - var typedMax any if n.isFloat { - typedMax = max + n.currentValue.Fields[n.virtualFieldIndex] = float64(max) + } else if max <= math.MinInt64 { + n.currentValue.Fields[n.virtualFieldIndex] = int64(math.MinInt64) } else { - typedMax = int64(max) + n.currentValue.Fields[n.virtualFieldIndex] = int64(max) } - n.currentValue.Fields[n.virtualFieldIndex] = typedMax return true, nil } diff --git a/internal/planner/min.go b/internal/planner/min.go index ceceb65623..67f19db9fb 100644 --- a/internal/planner/min.go +++ b/internal/planner/min.go @@ -221,13 +221,13 @@ func (n *minNode) Next() (bool, error) { min = math.Min(min, collectionMin) } - var typedMin any if n.isFloat { - typedMin = min + n.currentValue.Fields[n.virtualFieldIndex] = float64(min) + } else if min >= math.MaxInt64 { + n.currentValue.Fields[n.virtualFieldIndex] = int64(math.MaxInt64) } else { - typedMin = int64(min) + n.currentValue.Fields[n.virtualFieldIndex] = int64(min) } - n.currentValue.Fields[n.virtualFieldIndex] = typedMin return true, nil } diff --git a/tests/integration/query/simple/with_group_max_test.go b/tests/integration/query/simple/with_group_max_test.go index 6c093c652d..bec41dfa80 100644 --- a/tests/integration/query/simple/with_group_max_test.go +++ b/tests/integration/query/simple/with_group_max_test.go @@ -291,7 +291,7 @@ func TestQuerySimple_WithGroupByStringWithoutRenderedGroupAndChildEmptyFloatMax_ }, { "Name": "Alice", - "_max": -math.MaxFloat64, + "_max": float64(-math.MaxFloat64), }, }, }, diff --git a/tests/integration/query/simple/with_group_min_test.go b/tests/integration/query/simple/with_group_min_test.go index c7fa81d38c..92477b5bc2 100644 --- a/tests/integration/query/simple/with_group_min_test.go +++ b/tests/integration/query/simple/with_group_min_test.go @@ -291,7 +291,7 @@ func TestQuerySimple_WithGroupByStringWithoutRenderedGroupAndChildEmptyFloatMin_ }, { "Name": "Alice", - "_min": math.MaxFloat64, + "_min": float64(math.MaxFloat64), }, }, },