diff options
author | John Christopher Anderson <jchris@apache.org> | 2009-01-09 19:03:22 +0000 |
---|---|---|
committer | John Christopher Anderson <jchris@apache.org> | 2009-01-09 19:03:22 +0000 |
commit | fbabdb19583198cf77add0b9cff354d70c45ff5a (patch) | |
tree | ba576fc81dab8e98a550d25af621b045d3a989ef /src/couchdb/couch_httpd_db.erl | |
parent | e19b5124101f2ff5aa755df99b0fcbd0923aa01f (diff) |
fixed _all_docs view to use the correct PassedEndFun for binary docid sorting
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@733116 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_httpd_db.erl')
-rw-r--r-- | src/couchdb/couch_httpd_db.erl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/couchdb/couch_httpd_db.erl b/src/couchdb/couch_httpd_db.erl index df8eba80..5366da1e 100644 --- a/src/couchdb/couch_httpd_db.erl +++ b/src/couchdb/couch_httpd_db.erl @@ -268,6 +268,8 @@ all_docs_view(Req, Db, Keys) -> #view_query_args{ start_key = StartKey, start_docid = StartDocId, + end_key = EndKey, + end_docid = EndDocId, limit = Limit, skip = SkipCount, direction = Dir @@ -279,10 +281,22 @@ all_docs_view(Req, Db, Keys) -> end, FoldAccInit = {Limit, SkipCount, undefined, []}, + PassedEndFun = + case Dir of + fwd -> + fun(ViewKey, _ViewId) -> + couch_db_updater:less_docid(EndKey, ViewKey) + end; + rev-> + fun(ViewKey, _ViewId) -> + couch_db_updater:less_docid(ViewKey, EndKey) + end + end, + case Keys of nil -> FoldlFun = couch_httpd_view:make_view_fold_fun(Req, QueryArgs, Db, - TotalRowCount, fun couch_db:enum_docs_reduce_to_count/1), + TotalRowCount, fun couch_db:enum_docs_reduce_to_count/1, PassedEndFun), AdapterFun = fun(#full_doc_info{id=Id}=FullDocInfo, Offset, Acc) -> case couch_doc:to_doc_info(FullDocInfo) of #doc_info{deleted=false, rev=Rev} -> |