From 5d519860e6b83723b2db0f81b1250c702f4f5d2b Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Tue, 12 Oct 2010 14:09:37 +0400
Subject: [PATCH 13/13] No erlang:min/2 and erlang:max/2 in R12B
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
---
src/couchdb/couch_auth_cache.erl | 2 +-
src/couchdb/couch_query_servers.erl | 4 ++--
src/couchdb/couch_util.erl | 13 +++++++++++++
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/couchdb/couch_auth_cache.erl b/src/couchdb/couch_auth_cache.erl
index 078bfcc..0b7d27f 100644
--- a/src/couchdb/couch_auth_cache.erl
+++ b/src/couchdb/couch_auth_cache.erl
@@ -175,7 +175,7 @@ handle_call({new_max_cache_size, NewSize}, _From, State) ->
end,
NewState = State#state{
max_cache_size = NewSize,
- cache_size = erlang:min(NewSize, State#state.cache_size)
+ cache_size = couch_util:min(NewSize, State#state.cache_size)
},
{reply, ok, NewState};
diff --git a/src/couchdb/couch_query_servers.erl b/src/couchdb/couch_query_servers.erl
index c4f1bf0..97d06cf 100644
--- a/src/couchdb/couch_query_servers.erl
+++ b/src/couchdb/couch_query_servers.erl
@@ -166,7 +166,7 @@ builtin_sum_rows(KVs) ->
builtin_stats(reduce, [[_,First]|Rest]) when is_number(First) ->
Stats = lists:foldl(fun([_K,V], {S,C,Mi,Ma,Sq}) when is_number(V) ->
- {S+V, C+1, erlang:min(Mi,V), erlang:max(Ma,V), Sq+(V*V)};
+ {S+V, C+1, couch_util:min(Mi,V), couch_util:max(Ma,V), Sq+(V*V)};
(_, _) ->
throw({invalid_value,
<<"builtin _stats function requires map values to be numbers">>})
@@ -178,7 +178,7 @@ builtin_stats(rereduce, [[_,First]|Rest]) ->
{[{sum,Sum0}, {count,Cnt0}, {min,Min0}, {max,Max0}, {sumsqr,Sqr0}]} = First,
Stats = lists:foldl(fun([_K,Red], {S,C,Mi,Ma,Sq}) ->
{[{sum,Sum}, {count,Cnt}, {min,Min}, {max,Max}, {sumsqr,Sqr}]} = Red,
- {Sum+S, Cnt+C, erlang:min(Min,Mi), erlang:max(Max,Ma), Sqr+Sq}
+ {Sum+S, Cnt+C, couch_util:min(Min,Mi), couch_util:max(Max,Ma), Sqr+Sq}
end, {Sum0,Cnt0,Min0,Max0,Sqr0}, Rest),
{Sum, Cnt, Min, Max, Sqr} = Stats,
{[{sum,Sum}, {count,Cnt}, {min,Min}, {max,Max}, {sumsqr,Sqr}]}.
diff --git a/src/couchdb/couch_util.erl b/src/couchdb/couch_util.erl
index 8217a26..2ca001b 100644
--- a/src/couchdb/couch_util.erl
+++ b/src/couchdb/couch_util.erl
@@ -27,6 +27,7 @@
-export([get_value/2, get_value/3]).
-export([md5/1, md5_init/0, md5_update/2, md5_final/1]).
-export([reorder_results/2]).
+-export([min/2, max/2]).
-include("couch_db.hrl").
-include_lib("kernel/include/file.hrl").
@@ -452,3 +453,15 @@ reorder_results(Keys, SortedResults) when length(Keys) < 100 ->
reorder_results(Keys, SortedResults) ->
KeyDict = dict:from_list(SortedResults),
[dict:fetch(Key, KeyDict) || Key <- Keys].
+
+min(A,B) ->
+ case (A < B) of
+ true -> A;
+ _ -> B
+ end.
+
+max(A,B) ->
+ case (A > B) of
+ true -> A;
+ _ -> B
+ end.
--
1.7.2.3