Blob Blame History Raw
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