diff options
author | Nick Vatamaniuc <vatamane@apache.org> | 2019-08-29 16:22:49 -0400 |
---|---|---|
committer | Nick Vatamaniuc <vatamane@apache.org> | 2019-08-29 16:22:49 -0400 |
commit | 923448c6f5ee27c7ac5cab0d48ecdd2782885d36 (patch) | |
tree | 4ac08faa2613a79d01bf858f4a0d7f22e74cba94 | |
parent | 5aed0fddfbc9b197757e573a28dfc7ebada3aafd (diff) | |
download | couchdb-prototype/fdb-layer-fix-docid-keys-for-all-docs.tar.gz |
Handle startkey_docid and endkey_docid for _all_docsprototype/fdb-layer-fix-docid-keys-for-all-docs
-rw-r--r-- | src/chttpd/src/chttpd_db.erl | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/chttpd/src/chttpd_db.erl b/src/chttpd/src/chttpd_db.erl index dbb92fa84..769aa1f7b 100644 --- a/src/chttpd/src/chttpd_db.erl +++ b/src/chttpd/src/chttpd_db.erl @@ -838,15 +838,7 @@ all_docs_view(Req, Db, Keys, OP) -> }, case Args1#mrargs.keys of undefined -> - Options = [ - {user_ctx, Req#httpd.user_ctx}, - {dir, Args1#mrargs.direction}, - {start_key, Args1#mrargs.start_key}, - {end_key, Args1#mrargs.end_key}, - {limit, Args1#mrargs.limit}, - {skip, Args1#mrargs.skip}, - {update_seq, Args1#mrargs.update_seq} - ], + Options = all_docs_view_opts(Args1, Req), Acc = {iter, Db, Args1, VAcc0}, {ok, {iter, _, _, Resp}} = fabric2_db:fold_docs(Db, fun view_cb/2, Acc, Options), @@ -919,6 +911,26 @@ all_docs_view(Req, Db, Keys, OP) -> end. +all_docs_view_opts(Args, Req) -> + StartKey = case Args#mrargs.start_key of + undefined -> Args#mrargs.start_key_docid; + SKey -> SKey + end, + EndKey = case Args#mrargs.end_key of + undefined -> Args#mrargs.end_key_docid; + EKey -> EKey + end, + [ + {user_ctx, Req#httpd.user_ctx}, + {dir, Args#mrargs.direction}, + {start_key, StartKey}, + {end_key, EndKey}, + {limit, Args#mrargs.limit}, + {skip, Args#mrargs.skip}, + {update_seq, Args#mrargs.update_seq} + ]. + + apply_args_to_keylist(Args, Keys0) -> Keys1 = case Args#mrargs.direction of fwd -> Keys0; |