cloudant/fabric — pull request #107 by kocolosk (2013-09-06 18:47:38+00:00)
Title: Fix subtree-skipping optimization

The initial attempt at this fix relied on a patch to couch_view that only took effect if the user-defined accumulator had a specific form. This version skips all of the logic in couch_db:enum_docs and couch_view:fold and drops straight down the to btree itself. It implements the 4-arity fold fun directly instead of relying on other Wrappers. The expand_dups piece from couch_view is not needed because there are no dupes in _all_docs, and the enum_docs_reduce_to_count piece from couch_db is not needed because that element of the output is discarded. All in all, a cleaner and more obvious approach.

BugzID: 14954