You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/08/28 14:12:56 UTC

[7/9] couch-mrview commit: updated refs/heads/master to 4cc8114

Merge data_size calculations for views

This adds the new data size information to view info data.

BugzId: 27061


Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/db885864
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/db885864
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/db885864

Branch: refs/heads/master
Commit: db88586439f0e1f5c35203d5d9d98aa9a5a47c2c
Parents: 2c41c9d
Author: Robert Newson <rn...@apache.org>
Authored: Fri Aug 22 16:56:44 2014 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Fri Aug 22 16:56:44 2014 +0100

----------------------------------------------------------------------
 src/couch_mrview_index.erl | 14 ++++++++++----
 src/couch_mrview_util.erl  |  6 +++---
 2 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/db885864/src/couch_mrview_index.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_index.erl b/src/couch_mrview_index.erl
index 709a6a9..ab30b7d 100644
--- a/src/couch_mrview_index.erl
+++ b/src/couch_mrview_index.erl
@@ -57,13 +57,19 @@ get(Property, State) ->
                 purge_seq = PurgeSeq,
                 views = Views
             } = State,
-            {ok, Size} = couch_file:bytes(Fd),
-            {ok, DataSize} = couch_mrview_util:calculate_data_size(Btree,Views),
+            {ok, FileSize} = couch_file:bytes(Fd),
+            {ok, ExternalSize} = couch_mrview_util:calculate_external_size(Views),
+            ActiveSize = ExternalSize + couch_btree:size(Btree),
             {ok, [
                 {signature, list_to_binary(couch_index_util:hexsig(Sig))},
                 {language, Lang},
-                {disk_size, Size},
-                {data_size, DataSize},
+                {disk_size, FileSize}, % legacy
+                {data_size, ExternalSize}, % legacy
+                {sizes, {[
+                    {file, FileSize},
+                    {active, ActiveSize},
+                    {external, ExternalSize}
+                ]}},
                 {update_seq, UpdateSeq},
                 {purge_seq, PurgeSeq}
             ]};

http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/db885864/src/couch_mrview_util.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_util.erl b/src/couch_mrview_util.erl
index cbba5ac..1836338 100644
--- a/src/couch_mrview_util.erl
+++ b/src/couch_mrview_util.erl
@@ -21,7 +21,7 @@
 -export([all_docs_key_opts/1, all_docs_key_opts/2, key_opts/1, key_opts/2]).
 -export([fold/4, fold_reduce/4]).
 -export([temp_view_to_ddoc/1]).
--export([calculate_data_size/2]).
+-export([calculate_external_size/1]).
 -export([validate_args/1]).
 -export([maybe_load_doc/3, maybe_load_doc/4]).
 -export([maybe_update_index_file/1]).
@@ -635,11 +635,11 @@ reverse_key_default(<<255>>) -> <<>>;
 reverse_key_default(Key) -> Key.
 
 
-calculate_data_size(IdBt, Views) ->
+calculate_external_size(Views) ->
     SumFun = fun(#mrview{btree=Bt}, Acc) ->
         sum_btree_sizes(Acc, couch_btree:size(Bt))
     end,
-    Size = lists:foldl(SumFun, couch_btree:size(IdBt), Views),
+    Size = lists:foldl(SumFun, 0, Views),
     {ok, Size}.