You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/08/04 16:06:54 UTC
couch-index commit: updated refs/heads/windsor-merge to 007d37e
Repository: couchdb-couch-index
Updated Branches:
refs/heads/windsor-merge [created] 007d37e6a
Update couch_view to use new couch_event app
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-index/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-index/commit/007d37e6
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-index/tree/007d37e6
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-index/diff/007d37e6
Branch: refs/heads/windsor-merge
Commit: 007d37e6aa51c8dd4a9ff0c0a51d5dc027ffcebb
Parents: ef483cb
Author: Robert Newson <rn...@apache.org>
Authored: Mon Aug 4 15:05:17 2014 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Aug 4 15:06:37 2014 +0100
----------------------------------------------------------------------
src/couch_index_server.erl | 30 ++++++++++--------------------
1 file changed, 10 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-index/blob/007d37e6/src/couch_index_server.erl
----------------------------------------------------------------------
diff --git a/src/couch_index_server.erl b/src/couch_index_server.erl
index c5316f0..7a6f883 100644
--- a/src/couch_index_server.erl
+++ b/src/couch_index_server.erl
@@ -15,13 +15,13 @@
-behaviour(config_listener).
-export([start_link/0, validate/2, get_index/4, get_index/3, get_index/2]).
--export([update_notify/1]).
-export([init/1, terminate/2, code_change/3]).
-export([handle_call/3, handle_cast/2, handle_info/2]).
% config_listener api
-export([handle_config_change/5]).
+-export([handle_db_event/3]).
-include_lib("couch/include/couch_db.hrl").
@@ -115,7 +115,7 @@ init([]) ->
ets:new(?BY_SIG, [protected, set, named_table]),
ets:new(?BY_PID, [private, set, named_table]),
ets:new(?BY_DB, [protected, bag, named_table]),
- couch_db_update_notifier:start_link(fun ?MODULE:update_notify/1),
+ couch_event:link_listener(?MODULE, handle_db_event, nil, [all_dbs]),
RootDir = couch_index_util:root_dir(),
couch_file:init_delete_dir(RootDir),
{ok, #st{root_dir=RootDir}}.
@@ -239,21 +239,11 @@ rem_from_ets(DbName, Sig, DDocId, Pid) ->
ets:delete_object(?BY_DB, {DbName, {DDocId, Sig}}).
-update_notify({deleted, DbName}) ->
- gen_server:cast(?MODULE, {reset_indexes, DbName});
-update_notify({created, DbName}) ->
- gen_server:cast(?MODULE, {reset_indexes, DbName});
-update_notify({ddoc_updated, {DbName, DDocId}}) ->
- lists:foreach(
- fun({_DbName, {_DDocId, Sig}}) ->
- case ets:lookup(?BY_SIG, {DbName, Sig}) of
- [{_, IndexPid}] ->
- (catch gen_server:cast(IndexPid, ddoc_updated));
- [] ->
- ok
- end
- end,
- ets:match_object(?BY_DB, {DbName, {DDocId, '$1'}}));
-update_notify(_) ->
- ok.
-
+handle_db_event(DbName, created, St) ->
+ gen_server:cast(?MODULE, {reset_indexes, DbName}),
+ {ok, St};
+handle_db_event(DbName, deleted, St) ->
+ gen_server:cast(?MODULE, {reset_indexes, DbName}),
+ {ok, St};
+handle_db_event(_DbName, _Event, St) ->
+ {ok, St}.