couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rnew...@apache.org
Subject couchdb commit: updated refs/heads/key-vs-keys to a478b45
Date Fri, 07 Feb 2014 11:00:40 GMT
Updated Branches:
  refs/heads/key-vs-keys [created] a478b4549


Send better error if user specifies key and keys


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/a478b454
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/a478b454
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/a478b454

Branch: refs/heads/key-vs-keys
Commit: a478b4549289810f94332276e1f7fe75d4155212
Parents: e7fdc16
Author: Robert Newson <rnewson@apache.org>
Authored: Fri Feb 7 11:00:24 2014 +0000
Committer: Robert Newson <rnewson@apache.org>
Committed: Fri Feb 7 11:00:24 2014 +0000

----------------------------------------------------------------------
 src/couch_mrview/include/couch_mrview.hrl  | 1 +
 src/couch_mrview/src/couch_mrview_http.erl | 2 +-
 src/couch_mrview/src/couch_mrview_util.erl | 7 +++++++
 3 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/a478b454/src/couch_mrview/include/couch_mrview.hrl
----------------------------------------------------------------------
diff --git a/src/couch_mrview/include/couch_mrview.hrl b/src/couch_mrview/include/couch_mrview.hrl
index e4ec66d..cec3e31 100644
--- a/src/couch_mrview/include/couch_mrview.hrl
+++ b/src/couch_mrview/include/couch_mrview.hrl
@@ -63,6 +63,7 @@
     start_key_docid,
     end_key,
     end_key_docid,
+    key,
     keys,
 
     direction = fwd,

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a478b454/src/couch_mrview/src/couch_mrview_http.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview/src/couch_mrview_http.erl b/src/couch_mrview/src/couch_mrview_http.erl
index 7b92034..2f301a0 100644
--- a/src/couch_mrview/src/couch_mrview_http.erl
+++ b/src/couch_mrview/src/couch_mrview_http.erl
@@ -301,7 +301,7 @@ parse_qs(Key, Val, Args) ->
             Args#mrargs{reduce=parse_boolean(Val)};
         "key" ->
             JsonKey = ?JSON_DECODE(Val),
-            Args#mrargs{start_key=JsonKey, end_key=JsonKey};
+            Args#mrargs{key=JsonKey, start_key=JsonKey, end_key=JsonKey};
         "keys" ->
             Args#mrargs{keys=?JSON_DECODE(Val)};
         "startkey" ->

http://git-wip-us.apache.org/repos/asf/couchdb/blob/a478b454/src/couch_mrview/src/couch_mrview_util.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview/src/couch_mrview_util.erl b/src/couch_mrview/src/couch_mrview_util.erl
index c4272f8..7860b3b 100644
--- a/src/couch_mrview/src/couch_mrview_util.erl
+++ b/src/couch_mrview/src/couch_mrview_util.erl
@@ -359,6 +359,13 @@ validate_args(Args) ->
         _ -> mrverror(<<"`keys` must be an array of strings.">>)
     end,
 
+    case {Args#mrargs.keys, Args#mrargs.key} of
+        {undefined, _} -> ok;
+        {[], _} -> ok;
+        {[_|_], undefined} -> ok;
+        _ -> mrverror(<<"`key` is incompatible with `keys`">>)
+    end,
+
     case {Args#mrargs.keys, Args#mrargs.start_key} of
         {undefined, _} -> ok;
         {[], _} -> ok;


Mime
View raw message