From b8b2a9de28f4e74864f69e7681088d871e71820f Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Mon, 6 Sep 2010 18:10:16 -0700 Subject: support for filtered _changes on multi-node clusters, closes #5 --- apps/fabric/src/fabric_rpc.erl | 4 ++-- apps/fabric/src/fabric_view_changes.erl | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'apps/fabric') diff --git a/apps/fabric/src/fabric_rpc.erl b/apps/fabric/src/fabric_rpc.erl index 301fd46b..a7d555e0 100644 --- a/apps/fabric/src/fabric_rpc.erl +++ b/apps/fabric/src/fabric_rpc.erl @@ -338,10 +338,10 @@ send(Key, Value, #view_acc{limit=Limit} = Acc) -> end. changes_enumerator(DocInfo, {Db, _Seq, Args}) -> - #changes_args{include_docs=IncludeDocs, filter=FilterFun} = Args, + #changes_args{include_docs=IncludeDocs, filter=Acc} = Args, #doc_info{id=Id, high_seq=Seq, revs=[#rev_info{deleted=Del,rev=Rev}|_]} = DocInfo, - case [Result || Result <- FilterFun(DocInfo), Result /= null] of + case [X || X <- couch_changes:filter(DocInfo, Acc), X /= null] of [] -> {ok, {Db, Seq, Args}}; Results -> diff --git a/apps/fabric/src/fabric_view_changes.erl b/apps/fabric/src/fabric_view_changes.erl index 63ffc02a..a4421a92 100644 --- a/apps/fabric/src/fabric_view_changes.erl +++ b/apps/fabric/src/fabric_view_changes.erl @@ -182,10 +182,8 @@ handle_message({complete, EndSeq}, Worker, State) -> end end. -make_changes_args(#changes_args{style=main_only, filter=undefined}=Args) -> - Args#changes_args{filter = fun couch_changes:main_only_filter/1}; -make_changes_args(#changes_args{style=all_docs, filter=undefined}=Args) -> - Args#changes_args{filter = fun couch_changes:all_docs_filter/1}; +make_changes_args(#changes_args{style=Style, filter=undefined}=Args) -> + Args#changes_args{filter = Style}; make_changes_args(Args) -> Args. -- cgit v1.2.3