From 9866203c3c0bff9cd972df09624e5647cfc4e9be Mon Sep 17 00:00:00 2001 From: John Christopher Anderson Date: Tue, 21 Oct 2008 19:49:41 +0000 Subject: fix for COUCHDB-138 include_docs=true&reduce=false git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@706735 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/couch_tests.js | 4 ++++ src/couchdb/couch_httpd_view.erl | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js index af4bf5ea..5ff4ad40 100644 --- a/share/www/script/couch_tests.js +++ b/share/www/script/couch_tests.js @@ -1172,6 +1172,10 @@ var tests = { T(e.error == 'query_parse_error'); } + // Reduce support when reduce=false + resp = db.view('test/summate', {reduce: false, include_docs: true}); + T(resp.rows.length == 100); + // Check emitted _rev controls things resp = db.allDocs({include_docs: true}, ["0"]); var before = resp.rows[0].doc; diff --git a/src/couchdb/couch_httpd_view.erl b/src/couchdb/couch_httpd_view.erl index d58dfeee..6f6ff706 100644 --- a/src/couchdb/couch_httpd_view.erl +++ b/src/couchdb/couch_httpd_view.erl @@ -308,8 +308,14 @@ parse_view_query(Req, Keys, IsReduce) -> {"include_docs", Value} -> case IsReduce of true -> - Msg = lists:flatten(io_lib:format("Bad URL query key for reduce operation: ~s", [Key])), - throw({query_parse_error, Msg}); + #view_query_args{reduce=OptReduce} = Args, + case OptReduce of + true -> + Msg = lists:flatten(io_lib:format("Bad URL query key for reduce operation: ~s", [Key])), + throw({query_parse_error, Msg}); + _ -> + ok + end; _ -> ok end, -- cgit v1.2.3