summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lehnardt <jan@apache.org>2009-03-28 21:02:41 +0000
committerJan Lehnardt <jan@apache.org>2009-03-28 21:02:41 +0000
commit7f9398774383afa5e6914cc272d2cc76e1e95dd6 (patch)
tree74a9e5ac72430ec646f2f55b359acb069cd75a59
parent6b53d12b758b8e917a92e9d34eb59aa575d000b7 (diff)
always load _conflicts in _show functions
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@759588 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--share/www/script/test/show_documents.js18
-rw-r--r--src/couchdb/couch_httpd_show.erl2
2 files changed, 19 insertions, 1 deletions
diff --git a/share/www/script/test/show_documents.js b/share/www/script/test/show_documents.js
index f4aa62a7..c755898e 100644
--- a/share/www/script/test/show_documents.js
+++ b/share/www/script/test/show_documents.js
@@ -44,6 +44,11 @@ couchTests.show_documents = function(debug) {
};
}
}),
+ "json" : stringFun(function(doc, req) {
+ return {
+ json : doc
+ }
+ }),
"req-info" : stringFun(function(doc, req) {
return {
json : req
@@ -300,4 +305,17 @@ couchTests.show_documents = function(debug) {
});
T(xhr.getResponseHeader("Content-Type") == "text/html");
T(xhr.responseText == "Ha ha, you said \"plankton\".");
+
+ // test inclusion of conflict state
+ var doc1 = {_id:"foo", a:1};
+ var doc2 = {_id:"foo", a:2};
+ db.save(doc1);
+
+ //create the conflict with a all_or_nothing bulk docs request
+ var docs = [doc2];
+ db.bulkSave(docs, {all_or_nothing:true});
+
+ xhr = CouchDB.request("GET", "/test_suite_db/_design/template/_show/json/foo");
+ TEquals(1, JSON.parse(xhr.responseText)._conflicts.length);
+
};
diff --git a/src/couchdb/couch_httpd_show.erl b/src/couchdb/couch_httpd_show.erl
index dd337ced..5aed8971 100644
--- a/src/couchdb/couch_httpd_show.erl
+++ b/src/couchdb/couch_httpd_show.erl
@@ -30,7 +30,7 @@ handle_doc_show_req(#httpd{
#doc{body={Props}} = couch_httpd_db:couch_doc_open(Db, DesignId, nil, []),
Lang = proplists:get_value(<<"language">>, Props, <<"javascript">>),
ShowSrc = get_nested_json_value({Props}, [<<"shows">>, ShowName]),
- Doc = try couch_httpd_db:couch_doc_open(Db, DocId, nil, []) of
+ Doc = try couch_httpd_db:couch_doc_open(Db, DocId, nil, [conflicts]) of
FoundDoc -> FoundDoc
catch
_ -> nil