From 87a115dc0aa194617af265b65d98a61ce29942e5 Mon Sep 17 00:00:00 2001 From: Tpt Date: Wed, 24 May 2023 22:02:13 +0200 Subject: [PATCH] SPARQL: Makes average function works with yearMonthDuration and dayTimeDuration --- lib/src/sparql/eval.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/src/sparql/eval.rs b/lib/src/sparql/eval.rs index 4d2d738f..a7080b87 100644 --- a/lib/src/sparql/eval.rs +++ b/lib/src/sparql/eval.rs @@ -1087,7 +1087,9 @@ impl SimpleEvaluator { NumericBinaryOperands::TimeDayTimeDuration(v1, v2) => { Some(v1.checked_add_day_time_duration(v2)?.into()) } - _ => None, + NumericBinaryOperands::DateTime(_, _) + | NumericBinaryOperands::Time(_, _) + | NumericBinaryOperands::Date(_, _) => None, }, ) } @@ -4507,6 +4509,12 @@ impl Accumulator for SumAccumulator { NumericBinaryOperands::Integer(v1, v2) => v1.checked_add(v2).map(Into::into), NumericBinaryOperands::Decimal(v1, v2) => v1.checked_add(v2).map(Into::into), NumericBinaryOperands::Duration(v1, v2) => v1.checked_add(v2).map(Into::into), + NumericBinaryOperands::YearMonthDuration(v1, v2) => { + v1.checked_add(v2).map(Into::into) + } + NumericBinaryOperands::DayTimeDuration(v1, v2) => { + v1.checked_add(v2).map(Into::into) + } _ => None, }; } else {