diff options
author | Damien F. Katz <damien@apache.org> | 2008-06-05 23:49:48 +0000 |
---|---|---|
committer | Damien F. Katz <damien@apache.org> | 2008-06-05 23:49:48 +0000 |
commit | 712830243c89a0863831ead8e983f089fd37fd42 (patch) | |
tree | eb3f6f7cb8f08684f63d71869817cd898412ffd0 /src/couchdb/couch_httpd.erl | |
parent | 43776b676961ec093556fa5693298463ecee2ff5 (diff) |
Added reduce/combine example. Fixed broken node chunking with very large keys/reduction values
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@663786 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_httpd.erl')
-rw-r--r-- | src/couchdb/couch_httpd.erl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/couchdb/couch_httpd.erl b/src/couchdb/couch_httpd.erl index b9244b1b..da3d7555 100644 --- a/src/couchdb/couch_httpd.erl +++ b/src/couchdb/couch_httpd.erl @@ -469,7 +469,9 @@ output_reduce_view(Req, View) -> Resp:write_chunk(AccSeparator ++ Json), {ok, {",",0,AccCount-1}}; (Key, Red, {AccSeparator,0,AccCount}) - when is_tuple(Key) and is_integer(GroupLevel) -> + when is_integer(GroupLevel) + andalso is_tuple(Key) + andalso element(1, Key) /= obj -> Json = lists:flatten(cjson:encode( {obj, [{key, list_to_tuple(lists:sublist(tuple_to_list(Key), GroupLevel))}, {value, Red}]})), @@ -557,8 +559,7 @@ handle_doc_request(Req, 'GET', _DbName, Db, DocId) -> Json = lists:flatten(cjson:encode({obj, [{ok, JsonDoc}]})), Resp:write_chunk(AccSeparator ++ Json); {{not_found, missing}, RevId} -> - Json = {obj, [{"missing", RevId}]}, - Json = lists:flatten(cjson:encode(Json)), + Json = lists:flatten(cjson:encode({obj, [{"missing", RevId}]})), Resp:write_chunk(AccSeparator ++ Json) end, "," % AccSeparator now has a comma |