Evaluates the aggregate over a flat iterator of datums, ignoring multiplicity.
(&self, datums: I, temp_storage: &'a RowArena)
| 2110 | |
| 2111 | /// Evaluates the aggregate over a flat iterator of datums, ignoring multiplicity. |
| 2112 | fn eval_datums<'a, I>(&self, datums: I, temp_storage: &'a RowArena) -> Datum<'a> |
| 2113 | where |
| 2114 | I: IntoIterator<Item = Datum<'a>>, |
| 2115 | { |
| 2116 | match self { |
| 2117 | AggregateFunc::MaxNumeric => { |
| 2118 | max_datum::<'a, I, OrderedDecimal<numeric::Numeric>>(datums) |
| 2119 | } |
| 2120 | AggregateFunc::MaxInt16 => max_datum::<'a, I, i16>(datums), |
| 2121 | AggregateFunc::MaxInt32 => max_datum::<'a, I, i32>(datums), |
| 2122 | AggregateFunc::MaxInt64 => max_datum::<'a, I, i64>(datums), |
| 2123 | AggregateFunc::MaxUInt16 => max_datum::<'a, I, u16>(datums), |
| 2124 | AggregateFunc::MaxUInt32 => max_datum::<'a, I, u32>(datums), |
| 2125 | AggregateFunc::MaxUInt64 => max_datum::<'a, I, u64>(datums), |
| 2126 | AggregateFunc::MaxMzTimestamp => max_datum::<'a, I, mz_repr::Timestamp>(datums), |
| 2127 | AggregateFunc::MaxFloat32 => max_datum::<'a, I, OrderedFloat<f32>>(datums), |
| 2128 | AggregateFunc::MaxFloat64 => max_datum::<'a, I, OrderedFloat<f64>>(datums), |
| 2129 | AggregateFunc::MaxBool => max_datum::<'a, I, bool>(datums), |
| 2130 | AggregateFunc::MaxString => max_string(datums), |
| 2131 | AggregateFunc::MaxDate => max_datum::<'a, I, Date>(datums), |
| 2132 | AggregateFunc::MaxTimestamp => { |
| 2133 | max_datum::<'a, I, CheckedTimestamp<NaiveDateTime>>(datums) |
| 2134 | } |
| 2135 | AggregateFunc::MaxTimestampTz => { |
| 2136 | max_datum::<'a, I, CheckedTimestamp<DateTime<Utc>>>(datums) |
| 2137 | } |
| 2138 | AggregateFunc::MaxInterval => max_datum::<'a, I, Interval>(datums), |
| 2139 | AggregateFunc::MaxTime => max_datum::<'a, I, NaiveTime>(datums), |
| 2140 | AggregateFunc::MinNumeric => { |
| 2141 | min_datum::<'a, I, OrderedDecimal<numeric::Numeric>>(datums) |
| 2142 | } |
| 2143 | AggregateFunc::MinInt16 => min_datum::<'a, I, i16>(datums), |
| 2144 | AggregateFunc::MinInt32 => min_datum::<'a, I, i32>(datums), |
| 2145 | AggregateFunc::MinInt64 => min_datum::<'a, I, i64>(datums), |
| 2146 | AggregateFunc::MinUInt16 => min_datum::<'a, I, u16>(datums), |
| 2147 | AggregateFunc::MinUInt32 => min_datum::<'a, I, u32>(datums), |
| 2148 | AggregateFunc::MinUInt64 => min_datum::<'a, I, u64>(datums), |
| 2149 | AggregateFunc::MinMzTimestamp => min_datum::<'a, I, mz_repr::Timestamp>(datums), |
| 2150 | AggregateFunc::MinFloat32 => min_datum::<'a, I, OrderedFloat<f32>>(datums), |
| 2151 | AggregateFunc::MinFloat64 => min_datum::<'a, I, OrderedFloat<f64>>(datums), |
| 2152 | AggregateFunc::MinBool => min_datum::<'a, I, bool>(datums), |
| 2153 | AggregateFunc::MinString => min_string(datums), |
| 2154 | AggregateFunc::MinDate => min_datum::<'a, I, Date>(datums), |
| 2155 | AggregateFunc::MinTimestamp => { |
| 2156 | min_datum::<'a, I, CheckedTimestamp<NaiveDateTime>>(datums) |
| 2157 | } |
| 2158 | AggregateFunc::MinTimestampTz => { |
| 2159 | min_datum::<'a, I, CheckedTimestamp<DateTime<Utc>>>(datums) |
| 2160 | } |
| 2161 | AggregateFunc::MinInterval => min_datum::<'a, I, Interval>(datums), |
| 2162 | AggregateFunc::MinTime => min_datum::<'a, I, NaiveTime>(datums), |
| 2163 | AggregateFunc::SumInt16 => sum_datum::<'a, I, i16, i64>(datums), |
| 2164 | AggregateFunc::SumInt32 => sum_datum::<'a, I, i32, i64>(datums), |
| 2165 | AggregateFunc::SumInt64 => sum_datum::<'a, I, i64, i128>(datums), |
| 2166 | AggregateFunc::SumUInt16 => sum_datum::<'a, I, u16, u64>(datums), |
| 2167 | AggregateFunc::SumUInt32 => sum_datum::<'a, I, u32, u64>(datums), |
| 2168 | AggregateFunc::SumUInt64 => sum_datum::<'a, I, u64, u128>(datums), |
| 2169 | AggregateFunc::SumFloat32 => sum_datum::<'a, I, f32, f32>(datums), |
no test coverage detected