You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2009/04/18 18:22:56 UTC
svn commit: r766348 - in /couchdb/branches/0.9.x: ./ etc/default/couchdb
share/www/script/test/view_errors.js src/couchdb/couch_db.hrl
src/couchdb/couch_httpd_view.erl
Author: davisp
Date: Sat Apr 18 16:22:55 2009
New Revision: 766348
URL: http://svn.apache.org/viewvc?rev=766348&view=rev
Log:
Merged 766347 from trunk.
Modified:
couchdb/branches/0.9.x/ (props changed)
couchdb/branches/0.9.x/etc/default/couchdb (props changed)
couchdb/branches/0.9.x/share/www/script/test/view_errors.js
couchdb/branches/0.9.x/src/couchdb/couch_db.hrl
couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl
Propchange: couchdb/branches/0.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Apr 18 16:22:55 2009
@@ -1,3 +1,3 @@
/couchdb/branches/design_resources:751716-751803
/couchdb/branches/form:729440-730015
-/couchdb/trunk:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420
+/couchdb/trunk:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,766347
Propchange: couchdb/branches/0.9.x/etc/default/couchdb
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Apr 18 16:22:55 2009
@@ -1,4 +1,4 @@
/couchdb/branches/design_resources/etc/default/couchdb:751716-751803
/couchdb/branches/form/etc/default/couchdb:729440-730015
-/couchdb/trunk/etc/default/couchdb:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420
+/couchdb/trunk/etc/default/couchdb:758717,760442,760503,760532,760535,760537-760539,761343,761347-761348,761352-761353,761355,762016,765420,766347
/incubator/couchdb/trunk/etc/default/couchdb:642419-694440
Modified: couchdb/branches/0.9.x/share/www/script/test/view_errors.js
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/share/www/script/test/view_errors.js?rev=766348&r1=766347&r2=766348&view=diff
==============================================================================
--- couchdb/branches/0.9.x/share/www/script/test/view_errors.js (original)
+++ couchdb/branches/0.9.x/share/www/script/test/view_errors.js Sat Apr 18 16:22:55 2009
@@ -81,6 +81,14 @@
}
try {
+ db.view("test/no_reduce", {reduce: true});
+ T(0 == 1);
+ } catch(e) {
+ T(db.last_req.status == 400);
+ T(e.error == "query_parse_error");
+ }
+
+ try {
db.view("test/with_reduce", {group: true, reduce: false});
T(0 == 1);
} catch(e) {
Modified: couchdb/branches/0.9.x/src/couchdb/couch_db.hrl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/src/couchdb/couch_db.hrl?rev=766348&r1=766347&r2=766348&view=diff
==============================================================================
--- couchdb/branches/0.9.x/src/couchdb/couch_db.hrl (original)
+++ couchdb/branches/0.9.x/src/couchdb/couch_db.hrl Sat Apr 18 16:22:55 2009
@@ -155,6 +155,7 @@
skip = 0,
group_level = 0,
reduce = true,
+ req_reduce = false,
inclusive_end=true, % aka a closed-interval
include_docs = false
}).
Modified: couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl?rev=766348&r1=766347&r2=766348&view=diff
==============================================================================
--- couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl (original)
+++ couchdb/branches/0.9.x/src/couchdb/couch_httpd_view.erl Sat Apr 18 16:22:55 2009
@@ -363,9 +363,15 @@
{"inclusive_end", "false"} ->
Args#view_query_args{inclusive_end=false};
{"reduce", "true"} ->
- Args#view_query_args{reduce=true};
+ Args#view_query_args{
+ reduce=true,
+ req_reduce=true
+ };
{"reduce", "false"} ->
- Args#view_query_args{reduce=false};
+ Args#view_query_args{
+ reduce=false,
+ req_reduce=true
+ };
{"include_docs", Value} ->
case Value of
"true" ->
@@ -400,7 +406,18 @@
ok
end;
_ ->
- ok
+ case QueryArgs#view_query_args.req_reduce of
+ true ->
+ case QueryArgs#view_query_args.reduce of
+ true ->
+ ErrMsg = <<"Bad URL parameter: reduce=true">>,
+ throw({query_parse_error, ErrMsg});
+ _ ->
+ ok
+ end;
+ _ ->
+ ok
+ end
end,
case Keys of
nil ->