Updated Branches:
  refs/heads/1994-merge-rcouch b35725144 -> 44580da65

couch_mrview: add couch_mrview:refresh/2 function

function to refresh a view index.


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

Branch: refs/heads/1994-merge-rcouch
Commit: 44580da65f61be06e281d05de63be42a61645f74
Parents: b357251
Author: Benoit Chesneau <[email protected]>
Authored: Tue Jan 28 23:23:37 2014 +0100
Committer: Benoit Chesneau <[email protected]>
Committed: Tue Jan 28 23:23:37 2014 +0100

----------------------------------------------------------------------
 apps/couch_mrview/src/couch_mrview.erl    | 20 ++++++++++++++++++++
 apps/couch_mrview/test/08-changes_since.t |  4 ----
 2 files changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/44580da6/apps/couch_mrview/src/couch_mrview.erl
----------------------------------------------------------------------
diff --git a/apps/couch_mrview/src/couch_mrview.erl 
b/apps/couch_mrview/src/couch_mrview.erl
index d8f092c..26538a2 100644
--- a/apps/couch_mrview/src/couch_mrview.erl
+++ b/apps/couch_mrview/src/couch_mrview.erl
@@ -17,6 +17,7 @@
 -export([view_changes_since/6, view_changes_since/7]).
 -export([count_view_changes_since/4, count_view_changes_since/5]).
 -export([get_info/2]).
+-export([refresh/2]).
 -export([compact/2, compact/3, cancel_compaction/2]).
 -export([cleanup/1]).
 
@@ -146,6 +147,25 @@ get_info(Db, DDoc) ->
     couch_index:get_info(Pid).
 
 
+%% @doc refresh a view index
+refresh(#db{name=DbName}, DDoc) ->
+    refresh(DbName, DDoc);
+
+refresh(Db, DDoc) ->
+    UpdateSeq = couch_util:with_db(Db, fun(WDb) ->
+                    couch_db:get_update_seq(WDb)
+            end),
+
+    case couch_index_server:get_index(couch_mrview_index, Db, DDoc) of
+        {ok, Pid} ->
+            case catch couch_index:get_state(Pid, UpdateSeq) of
+                {ok, _} -> ok;
+                Error -> {error, Error}
+            end;
+        Error ->
+            {error, Error}
+    end.
+
 compact(Db, DDoc) ->
     compact(Db, DDoc, []).
 

http://git-wip-us.apache.org/repos/asf/couchdb/blob/44580da6/apps/couch_mrview/test/08-changes_since.t
----------------------------------------------------------------------
diff --git a/apps/couch_mrview/test/08-changes_since.t 
b/apps/couch_mrview/test/08-changes_since.t
index 5a10f4c..58c92e9 100644
--- a/apps/couch_mrview/test/08-changes_since.t
+++ b/apps/couch_mrview/test/08-changes_since.t
@@ -146,10 +146,6 @@ test_remove_key(Db) ->
     ]},
     etap:is(Result3, Expect2, "removed key OK.").
 
-
-
-
-
 run_query(Db, Since, Opts) ->
     Fun = fun(KV, Acc) -> {ok, [KV | Acc]} end,
     {ok, R} = couch_mrview:view_changes_since(Db, <<"_design/bar">>, <<"baz">>,

Reply via email to