--- Revision None +++ Revision 343031383436 @@ -0,0 +1,37 @@ +diff --git a/src/couch_index_merger/src/couch_httpd_view_merger.erl b/src/couch_index_merger/src/couch_httpd_view_merger.erl +index 9597cb3..1715632 100644 +--- a/src/couch_index_merger/src/couch_httpd_view_merger.erl ++++ b/src/couch_index_merger/src/couch_httpd_view_merger.erl +@@ -370,13 +370,16 @@ parse_view_name(Name) -> + {nil, nil, <<"_all_docs">>}; + [DDocName, ViewName0] -> + {nil, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; +- ["_design", DDocName, ViewName0] -> ++ ["_design", DDocName0, ViewName0] -> ++ DDocName = couch_httpd:unquote(DDocName0), + {nil, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; +- [DDocDbName1, DDocName, ViewName0] -> ++ [DDocDbName1, DDocName0, ViewName0] -> + DDocDbName = ?l2b(couch_httpd:unquote(DDocDbName1)), ++ DDocName = couch_httpd:unquote(DDocName0), + {DDocDbName, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; +- [DDocDbName1, "_design", DDocName, ViewName0] -> ++ [DDocDbName1, "_design", DDocName0, ViewName0] -> + DDocDbName = ?l2b(couch_httpd:unquote(DDocDbName1)), ++ DDocName = couch_httpd:unquote(DDocName0), + {DDocDbName, <<"_design/", (?l2b(DDocName))/binary>>, ?l2b(ViewName0)}; + _ -> + throw({bad_request, "A `view` property must have the shape" +diff --git a/src/couch_index_merger/src/couch_view_merger.erl b/src/couch_index_merger/src/couch_view_merger.erl +index 2f04c7a..4c10678 100644 +--- a/src/couch_index_merger/src/couch_view_merger.erl ++++ b/src/couch_index_merger/src/couch_view_merger.erl +@@ -208,7 +208,7 @@ http_index_folder_req_details(#simple_index_spec{} = IndexSpec, MergeParams, _DD + <<"_all_docs">> -> + "_all_docs"; + _ -> +- ?b2l(DDocId) ++ "/_view/" ++ ?b2l(ViewName) ++ couch_httpd:quote(DDocId) ++ "/_view/" ++ couch_httpd:quote(ViewName) + end ++ view_qs(ViewArgs, MergeParams), + put(from_url, DbUrl), + case Keys of