Use interface instead of direct #group access BugzID: 13487
Project: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/commit/1f0680fa Tree: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/tree/1f0680fa Diff: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/diff/1f0680fa Branch: refs/heads/import Commit: 1f0680faba3e1955200666e465b516d27d7ae1de Parents: fcc1592 Author: Adam Kocoloski <[email protected]> Authored: Tue Feb 26 14:06:36 2013 -0500 Committer: Adam Kocoloski <[email protected]> Committed: Tue Feb 26 14:19:48 2013 -0500 ---------------------------------------------------------------------- src/fabric_rpc.erl | 10 ++++++---- src/fabric_view_reduce.erl | 7 ++++--- 2 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/1f0680fa/src/fabric_rpc.erl ---------------------------------------------------------------------- diff --git a/src/fabric_rpc.erl b/src/fabric_rpc.erl index 5c840f4..00169fd 100644 --- a/src/fabric_rpc.erl +++ b/src/fabric_rpc.erl @@ -110,8 +110,9 @@ map_view(DbName, DDoc, ViewName, QueryArgs) -> {ok, Pid} = gen_server:call(couch_view, {get_group_server, DbName, Group0}), {ok, Group} = couch_view_group:request_group(Pid, MinSeq), maybe_update_view_group(Pid, LastSeq, Stale), - erlang:monitor(process, Group#group.fd), - View = fabric_view:extract_view(Pid, ViewName, Group#group.views, ViewType), + erlang:monitor(process, couch_view_group:get_fd(Group)), + Views = couch_view_group:get_views(Group), + View = fabric_view:extract_view(Pid, ViewName, Views, ViewType), {ok, Total} = couch_view:get_row_count(View), Acc0 = #view_acc{ db = Db, @@ -153,8 +154,9 @@ reduce_view(DbName, Group0, ViewName, QueryArgs) -> {ok, Pid} = gen_server:call(couch_view, {get_group_server, DbName, Group0}), {ok, Group} = couch_view_group:request_group(Pid, MinSeq), maybe_update_view_group(Pid, LastSeq, Stale), - #group{views=Views, def_lang=Lang, fd=Fd} = Group, - erlang:monitor(process, Fd), + Lang = couch_view_group:get_language(Group), + Views = couch_view_group:get_views(Group), + erlang:monitor(process, couch_view_group:get_fd(Group)), {NthRed, View} = fabric_view:extract_view(Pid, ViewName, Views, reduce), ReduceView = {reduce, NthRed, Lang, View}, Acc0 = #view_acc{group_level = GroupLevel, limit = Limit+Skip}, http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/1f0680fa/src/fabric_view_reduce.erl ---------------------------------------------------------------------- diff --git a/src/fabric_view_reduce.erl b/src/fabric_view_reduce.erl index ca206b3..e2c786b 100644 --- a/src/fabric_view_reduce.erl +++ b/src/fabric_view_reduce.erl @@ -25,8 +25,9 @@ go(DbName, GroupId, View, Args, Callback, Acc0) when is_binary(GroupId) -> go(DbName, DDoc, View, Args, Callback, Acc0); go(DbName, DDoc, VName, Args, Callback, Acc0) -> - #group{def_lang=Lang, views=Views} = Group = - couch_view_group:design_doc_to_view_group(DDoc), + Group = couch_view_group:design_doc_to_view_group(DDoc), + Lang = couch_view_group:get_language(Group), + Views = couch_view_group:get_views(Group), {NthRed, View} = fabric_view:extract_view(nil, VName, Views, reduce), {VName, RedSrc} = lists:nth(NthRed, View#view.reduce_funs), Workers = lists:map(fun(#shard{name=Name, node=N} = Shard) -> @@ -47,7 +48,7 @@ go(DbName, DDoc, VName, Args, Callback, Acc0) -> keys = Args#view_query_args.keys, skip = Skip, limit = Limit, - lang = Group#group.def_lang, + lang = Lang, os_proc = OsProc, reducer = RedSrc, rows = dict:new(),
