From b015fabb268be44450ec71ab656aabdd8b06f89a Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Thu, 10 Jul 2025 20:47:55 +0300 Subject: [PATCH] vdbe: fix panic when first value added to min()/max() accumulator is null --- core/vdbe/execute.rs | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/core/vdbe/execute.rs b/core/vdbe/execute.rs index a2daec28c..1cbfd79c8 100644 --- a/core/vdbe/execute.rs +++ b/core/vdbe/execute.rs @@ -2567,28 +2567,8 @@ pub fn op_agg_step( AggFunc::Count | AggFunc::Count0 => { Register::Aggregate(AggContext::Count(Value::Integer(0))) } - AggFunc::Max => { - let col = state.registers[*col].get_owned_value(); - match col { - Value::Integer(_) => Register::Aggregate(AggContext::Max(None)), - Value::Float(_) => Register::Aggregate(AggContext::Max(None)), - Value::Text(_) => Register::Aggregate(AggContext::Max(None)), - _ => { - unreachable!(); - } - } - } - AggFunc::Min => { - let col = state.registers[*col].get_owned_value(); - match col { - Value::Integer(_) => Register::Aggregate(AggContext::Min(None)), - Value::Float(_) => Register::Aggregate(AggContext::Min(None)), - Value::Text(_) => Register::Aggregate(AggContext::Min(None)), - _ => { - unreachable!(); - } - } - } + AggFunc::Max => Register::Aggregate(AggContext::Max(None)), + AggFunc::Min => Register::Aggregate(AggContext::Min(None)), AggFunc::GroupConcat | AggFunc::StringAgg => { Register::Aggregate(AggContext::GroupConcat(Value::build_text(""))) }