summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbenoitc <benoitc@apache.org>2014-01-28 23:23:37 +0100
committerbenoitc <benoitc@apache.org>2014-01-28 23:23:37 +0100
commit44580da65f61be06e281d05de63be42a61645f74 (patch)
treeb6fab600ce694e3f18a1eaffe2e39738b8b6b20c
parentb357251448a2f7c2e9aca5056834a52d80bfeaeb (diff)
downloadcouchdb-44580da65f61be06e281d05de63be42a61645f74.tar.gz
couch_mrview: add couch_mrview:refresh/2 function
function to refresh a view index.
-rw-r--r--apps/couch_mrview/src/couch_mrview.erl20
-rw-r--r--apps/couch_mrview/test/08-changes_since.t4
2 files changed, 20 insertions, 4 deletions
diff --git a/apps/couch_mrview/src/couch_mrview.erl b/apps/couch_mrview/src/couch_mrview.erl
index d8f092c60..26538a251 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, []).
diff --git a/apps/couch_mrview/test/08-changes_since.t b/apps/couch_mrview/test/08-changes_since.t
index 5a10f4cda..58c92e94a 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">>,