Skip to content
This repository has been archived by the owner on May 25, 2021. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'cloudant/COUCHDB-3150-add-new-function-…
Browse files Browse the repository at this point in the history
…to-get-view-index-pid'
  • Loading branch information
davisp committed Sep 28, 2016
2 parents a0b0392 + fdaebcf commit d279411
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
6 changes: 5 additions & 1 deletion src/couch_mrview.erl
Expand Up @@ -14,7 +14,7 @@

-export([validate/2]).
-export([query_all_docs/2, query_all_docs/4]).
-export([query_view/3, query_view/4, query_view/6]).
-export([query_view/3, query_view/4, query_view/6, get_view_index_pid/4]).
-export([view_changes_since/5]).
-export([view_changes_since/6, view_changes_since/7]).
-export([count_view_changes_since/4, count_view_changes_since/5]).
Expand Down Expand Up @@ -249,6 +249,10 @@ query_view(Db, DDoc, VName, Args0, Callback, Acc0) ->
query_view(Db, VInfo, Args, Callback, Acc1).


get_view_index_pid(Db, DDoc, ViewName, Args0) ->
couch_mrview_util:get_view_index_pid(Db, DDoc, ViewName, Args0).


query_view(Db, {Type, View, Ref}, Args, Callback, Acc) ->
try
case Type of
Expand Down
16 changes: 10 additions & 6 deletions src/couch_mrview_util.erl
Expand Up @@ -12,7 +12,7 @@

-module(couch_mrview_util).

-export([get_view/4]).
-export([get_view/4, get_view_index_pid/4]).
-export([ddoc_to_mrst/2, init_state/4, reset_index/3]).
-export([make_header/1]).
-export([index_file/2, compaction_file/2, open_file/1]).
Expand Down Expand Up @@ -40,11 +40,7 @@


get_view(Db, DDoc, ViewName, Args0) ->
ArgCheck = fun(InitState) ->
Args1 = set_view_type(Args0, ViewName, InitState#mrst.views),
{ok, validate_args(Args1)}
end,
{ok, Pid, Args2} = couch_index_server:get_index(?MOD, Db, DDoc, ArgCheck),
{ok, Pid, Args2} = get_view_index_pid(Db, DDoc, ViewName, Args0),
DbUpdateSeq = couch_util:with_db(Db, fun(WDb) ->
couch_db:get_update_seq(WDb)
end),
Expand All @@ -67,6 +63,14 @@ get_view(Db, DDoc, ViewName, Args0) ->
{ok, {Type, View, Ref}, Sig, Args3}.


get_view_index_pid(Db, DDoc, ViewName, Args0) ->
ArgCheck = fun(InitState) ->
Args1 = set_view_type(Args0, ViewName, InitState#mrst.views),
{ok, validate_args(Args1)}
end,
couch_index_server:get_index(?MOD, Db, DDoc, ArgCheck).


ddoc_to_mrst(DbName, #doc{id=Id, body={Fields}}) ->
MakeDict = fun({Name, {MRFuns}}, DictBySrcAcc) ->
case couch_util:get_value(<<"map">>, MRFuns) of
Expand Down

0 comments on commit d279411

Please sign in to comment.