You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ch...@apache.org on 2014/02/27 23:36:45 UTC

fabric commit: updated refs/heads/1993-bigcouch-couch-mrview to e1fdae4

Repository: couchdb-fabric
Updated Branches:
  refs/heads/1993-bigcouch-couch-mrview 017430dc3 -> e1fdae4ef


Use process dict instead of record for meta_sent boolean

Just use a process dict for the time being rather than modifying the
record. This should never make it into a release, but it's at least
cleaner than modifying the record for a temporary hack.


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

Branch: refs/heads/1993-bigcouch-couch-mrview
Commit: e1fdae4ef646086573e70d0117405622091e7098
Parents: 017430d
Author: Russell Branca <ch...@apache.org>
Authored: Thu Feb 27 14:36:55 2014 -0800
Committer: Russell Branca <ch...@apache.org>
Committed: Thu Feb 27 14:36:55 2014 -0800

----------------------------------------------------------------------
 include/fabric.hrl         |  3 +--
 src/fabric_view.erl        |  2 ++
 src/fabric_view_reduce.erl | 10 +++++-----
 3 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/e1fdae4e/include/fabric.hrl
----------------------------------------------------------------------
diff --git a/include/fabric.hrl b/include/fabric.hrl
index 00765c5..94769bd 100644
--- a/include/fabric.hrl
+++ b/include/fabric.hrl
@@ -29,8 +29,7 @@
     reducer,
     lang,
     sorted,
-    user_acc,
-    meta_sent = false
+    user_acc
 }).
 
 -record(view_row, {key, id, value, doc, worker}).

http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/e1fdae4e/src/fabric_view.erl
----------------------------------------------------------------------
diff --git a/src/fabric_view.erl b/src/fabric_view.erl
index 9fa6d5e..38c4bf9 100644
--- a/src/fabric_view.erl
+++ b/src/fabric_view.erl
@@ -98,6 +98,7 @@ maybe_send_row(#collector{limit=0} = State) ->
         % we still need to send the total/offset header
         {ok, State};
     false ->
+        erase(meta_sent),
         {_, Acc} = Callback(complete, AccIn),
         {stop, State#collector{user_acc=Acc}}
     end;
@@ -124,6 +125,7 @@ maybe_send_row(State) ->
                 maybe_send_row(NewState#collector{user_acc=Acc, limit=Limit-1})
             end
         catch complete ->
+            erase(meta_sent),
             {_, Acc} = Callback(complete, AccIn),
             {stop, State#collector{user_acc=Acc}}
         end

http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/e1fdae4e/src/fabric_view_reduce.erl
----------------------------------------------------------------------
diff --git a/src/fabric_view_reduce.erl b/src/fabric_view_reduce.erl
index 6be5c13..17103a5 100644
--- a/src/fabric_view_reduce.erl
+++ b/src/fabric_view_reduce.erl
@@ -86,17 +86,17 @@ handle_message({total_and_offset, _, _}, {_Worker, From}, State) ->
     gen_server:reply(From, ok),
     #collector{
         callback = Callback,
-        user_acc = AccIn,
-        meta_sent = MetaSent
+        user_acc = AccIn
     } = State,
 
-    {Go, Acc} = case MetaSent of
-        false ->
+    {Go, Acc} = case get(meta_sent) of
+        undefined ->
+            put(meta_sent, true),
             Callback({meta, []}, AccIn);
         _ ->
             {ok, AccIn}
     end,
-    {Go, State#collector{meta_sent=true, user_acc = Acc}};
+    {Go, State#collector{user_acc = Acc}};
 
 handle_message(#view_row{key=Key} = Row, {Worker, From}, State) ->
     #collector{counters = Counters0, rows = Rows0} = State,