diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-03-26 13:06:09 -0500 |
---|---|---|
committer | jiangphcn <jiangph@cn.ibm.com> | 2018-05-02 16:36:43 +0800 |
commit | 31f37cbf4e4400bacf64e81e6497a29c0332ce41 (patch) | |
tree | de6cab5bd403c3795844a9c8df3e6ab6b2edc9c5 | |
parent | f9bf79b678e5defe269198b86d77b74a5af75af9 (diff) | |
download | couchdb-31f37cbf4e4400bacf64e81e6497a29c0332ce41.tar.gz |
WIP - couch_db_updater.erl
-rw-r--r-- | src/couch/src/couch_db_updater.erl | 11 |
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] }, |