summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_httpd_show.erl
diff options
context:
space:
mode:
authorJohn Christopher Anderson <jchris@apache.org>2009-02-13 20:52:28 +0000
committerJohn Christopher Anderson <jchris@apache.org>2009-02-13 20:52:28 +0000
commit4b691efb97cbbe3b0150c59c25d97882260a4984 (patch)
tree601287d898553f9623591ffc70781acbe566e606 /src/couchdb/couch_httpd_show.erl
parenteb81ff32d07cb8cbe1a13a495a2aabd968313821 (diff)
apply COUCHDB-252.
Allow _list functions to signal that iteration of the view should cease. Thanks davisp. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@744240 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_httpd_show.erl')
-rw-r--r--src/couchdb/couch_httpd_show.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/couchdb/couch_httpd_show.erl b/src/couchdb/couch_httpd_show.erl
index 2771a1c9..1da8fe98 100644
--- a/src/couchdb/couch_httpd_show.erl
+++ b/src/couchdb/couch_httpd_show.erl
@@ -127,13 +127,17 @@ output_map_list(Req, Lang, ListSrc, View, Db, QueryArgs) ->
JsonResp = couch_query_servers:render_list_row(QueryServer,
Req, Db2, {{Key, DocId}, Value}),
#extern_resp_args{
+ stop = StopIter,
data = RowBody
} = couch_httpd_external:parse_external_response(JsonResp),
RowFront2 = case RowFront of
nil -> [];
_ -> RowFront
end,
- send_chunk(Resp, RowFront2 ++ binary_to_list(RowBody))
+ case StopIter of
+ true -> stop;
+ _ -> send_chunk(Resp, RowFront2 ++ binary_to_list(RowBody))
+ end
end,
FoldlFun = couch_httpd_view:make_view_fold_fun(Req, QueryArgs, Db, RowCount,