summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2018-03-26 13:06:09 -0500
committerjiangphcn <jiangph@cn.ibm.com>2018-05-02 16:36:43 +0800
commit31f37cbf4e4400bacf64e81e6497a29c0332ce41 (patch)
treede6cab5bd403c3795844a9c8df3e6ab6b2edc9c5
parentf9bf79b678e5defe269198b86d77b74a5af75af9 (diff)
downloadcouchdb-31f37cbf4e4400bacf64e81e6497a29c0332ce41.tar.gz
WIP - couch_db_updater.erl
-rw-r--r--src/couch/src/couch_db_updater.erl11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/couch/src/couch_db_updater.erl b/src/couch/src/couch_db_updater.erl
index 0b1b134d0..c4b543b0e 100644
--- a/src/couch/src/couch_db_updater.erl
+++ b/src/couch/src/couch_db_updater.erl
@@ -662,7 +662,7 @@ purge_docs([Req | RestReqs], [FDI | RestInfos], USeq, PSeq, Acc) ->
case couch_key_tree:remove_leafs(Tree, Revs) of
{_, []} ->
% No change
- {{not_found, not_found}, [], USeq};
+ {no_change, [], USeq};
{[], Removed} ->
% Completely purged
{{FDI, not_found}, Removed, USeq};
@@ -687,11 +687,16 @@ purge_docs([Req | RestReqs], [FDI | RestInfos], USeq, PSeq, Acc) ->
{{FDI, NewFDI}, Removed, NewUpdateSeq}
end;
not_found ->
- {{not_found, not_found}, [], USeq}
+ % Not found means nothing to change
+ {no_change, [], USeq}
end,
{Pairs, PInfos, Replies} = Acc,
+ NewPairs = case Pair of
+ no_change -> Pairs;
+ _ -> [Pair | Pairs]
+ end,
NewAcc = {
- [Pair | Pairs],
+ NewPairs,
[{PSeq + 1, UUID, DocId, Revs} | PInfos],
[{ok, RemovedRevs} | Replies]
},