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/06 13:54:44 UTC
[07/48] couch commit: updated refs/heads/windsor-merge-300 to 2c2f53e
Switch notifications to the new couch_event app
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/2b45f92b
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/2b45f92b
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/2b45f92b
Branch: refs/heads/windsor-merge-300
Commit: 2b45f92ba0f5c5de6eef1c65ee6252abb9f0ffb9
Parents: 088ded6
Author: Paul J. Davis <pa...@gmail.com>
Authored: Wed Apr 24 12:42:14 2013 -0500
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Aug 4 15:19:26 2014 +0100
----------------------------------------------------------------------
src/couch_db_updater.erl | 24 ++++++++++++++----------
src/couch_server.erl | 4 ++--
2 files changed, 16 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/2b45f92b/src/couch_db_updater.erl
----------------------------------------------------------------------
diff --git a/src/couch_db_updater.erl b/src/couch_db_updater.erl
index 1b20544..4e72dac 100644
--- a/src/couch_db_updater.erl
+++ b/src/couch_db_updater.erl
@@ -107,7 +107,7 @@ handle_call(cancel_compact, _From, #db{compactor_pid = Pid} = Db) ->
handle_call(increment_update_seq, _From, Db) ->
Db2 = commit_data(Db#db{update_seq=Db#db.update_seq+1}),
ok = gen_server:call(couch_server, {db_updated, Db2}, infinity),
- couch_db_update_notifier:notify({updated, Db#db.name}),
+ couch_event:notify(Db#db.name, updated),
{reply, {ok, Db2#db.update_seq}, Db2};
handle_call({set_security, NewSec}, _From, #db{compression = Comp} = Db) ->
@@ -189,7 +189,7 @@ handle_call({purge_docs, IdRevs}, _From, Db) ->
header=Header#db_header{purge_seq=PurgeSeq+1, purged_docs=Pointer}}),
ok = gen_server:call(couch_server, {db_updated, Db2}, infinity),
- couch_db_update_notifier:notify({updated, Db#db.name}),
+ couch_event:notify(Db#db.name, updated),
{reply, {ok, (Db2#db.header)#db_header.purge_seq, IdRevsPurged}, Db2}.
@@ -242,7 +242,7 @@ handle_cast({compact_done, CompactFilepath}, #db{filepath=Filepath}=Db) ->
close_db(Db),
NewDb3 = refresh_validate_doc_funs(NewDb2),
ok = gen_server:call(couch_server, {db_updated, NewDb3}, infinity),
- couch_db_update_notifier:notify({compacted, NewDb3#db.name}),
+ couch_event:notify(NewDb3#db.name, compacted),
?LOG_INFO("Compaction for db \"~s\" completed.", [Db#db.name]),
{noreply, NewDb3#db{compactor_pid=nil}};
false ->
@@ -278,14 +278,19 @@ handle_info({update_docs, Client, GroupedDocs, NonRepDocs, MergeConflicts,
{ok, Db2, UpdatedDDocIds} ->
ok = gen_server:call(couch_server, {db_updated, Db2}, infinity),
if Db2#db.update_seq /= Db#db.update_seq ->
- couch_db_update_notifier:notify({updated, Db2#db.name});
+ couch_event:notify(Db2#db.name, updated);
true -> ok
end,
[catch(ClientPid ! {done, self()}) || ClientPid <- Clients],
- lists:foreach(fun(DDocId) ->
- couch_db_update_notifier:notify({ddoc_updated, {Db#db.name, DDocId}})
- end, UpdatedDDocIds),
- {noreply, Db2, hibernate}
+ Db3 = case length(UpdatedDDocIds) > 0 of
+ true ->
+ couch_event:notify(Db2#db.name, ddoc_updated),
+ ddoc_cache:evict(Db2#db.name, UpdatedDDocIds),
+ refresh_validate_doc_funs(Db2);
+ false ->
+ Db2
+ end,
+ {noreply, Db3, hibernate}
catch
throw: retry ->
[catch(ClientPid ! {retry, self()}) || ClientPid <- Clients],
@@ -738,8 +743,7 @@ update_docs_int(Db, DocsList, NonRepDocs, MergeConflicts, FullCommit) ->
% funs if we did.
Db4 = case length(UpdatedDDocIds) > 0 of
true ->
- couch_db_update_notifier:notify(
- {ddoc_updated, Db3#db.name}),
+ couch_event:notify(Db3#db.name, ddoc_updated),
ddoc_cache:evict(Db3#db.name, UpdatedDDocIds),
refresh_validate_doc_funs(Db3);
false ->
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/2b45f92b/src/couch_server.erl
----------------------------------------------------------------------
diff --git a/src/couch_server.erl b/src/couch_server.erl
index e54efcc..5a73877 100644
--- a/src/couch_server.erl
+++ b/src/couch_server.erl
@@ -291,7 +291,7 @@ open_async(Server, From, DbName, Filepath, Options) ->
Res = couch_db:start_link(DbName, Filepath, Options),
case {Res, lists:member(create, Options)} of
{{ok, _Db}, true} ->
- couch_db_update_notifier:notify({created, DbName});
+ couch_event:notify(DbName, created);
_ ->
ok
end,
@@ -456,7 +456,7 @@ handle_call({delete, DbName, Options}, _From, Server) ->
case couch_file:delete(Server#server.root_dir, FullFilepath, Async) of
ok ->
- couch_db_update_notifier:notify({deleted, DbName}),
+ couch_event:notify(DbName, deleted),
{reply, ok, Server2};
{error, enoent} ->
{reply, not_found, Server2};