144
144
builtin_reduce(_Re, [], _KVs, Acc) ->
145
145
{ok, lists:reverse(Acc)};
146
builtin_reduce(Re, [<<"_sum">>|BuiltinReds], KVs, Acc) ->
146
builtin_reduce(Re, [<<"_sum",_/binary>>|BuiltinReds], KVs, Acc) ->
147
147
Sum = builtin_sum_rows(KVs),
148
148
builtin_reduce(Re, BuiltinReds, KVs, [Sum|Acc]);
149
builtin_reduce(reduce, [<<"_count">>|BuiltinReds], KVs, Acc) ->
149
builtin_reduce(reduce, [<<"_count",_/binary>>|BuiltinReds], KVs, Acc) ->
150
150
Count = length(KVs),
151
151
builtin_reduce(reduce, BuiltinReds, KVs, [Count|Acc]);
152
builtin_reduce(rereduce, [<<"_count">>|BuiltinReds], KVs, Acc) ->
152
builtin_reduce(rereduce, [<<"_count",_/binary>>|BuiltinReds], KVs, Acc) ->
153
153
Count = builtin_sum_rows(KVs),
154
154
builtin_reduce(rereduce, BuiltinReds, KVs, [Count|Acc]);
155
builtin_reduce(Re, [<<"_stats">>|BuiltinReds], KVs, Acc) ->
155
builtin_reduce(Re, [<<"_stats",_/binary>>|BuiltinReds], KVs, Acc) ->
156
156
Stats = builtin_stats(Re, KVs),
157
157
builtin_reduce(Re, BuiltinReds, KVs, [Stats|Acc]).