summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2014-02-07 11:00:24 +0000
committerRobert Newson <rnewson@apache.org>2014-02-07 14:40:40 +0000
commit2bc0784030847cbbdd8998d3f135f91992768f6a (patch)
tree526463ad97b94e55ced63944919ae41c1a3ec555
parente7fdc16a485ec9a9d3b6bb3555957e367ec55f11 (diff)
downloadcouchdb-key-vs-keys.tar.gz
Send better error if user specifies key and keyskey-vs-keys
closes COUCHDB-2053
-rw-r--r--src/couch_mrview/src/couch_mrview_util.erl19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/couch_mrview/src/couch_mrview_util.erl b/src/couch_mrview/src/couch_mrview_util.erl
index c4272f836..95f7be434 100644
--- a/src/couch_mrview/src/couch_mrview_util.erl
+++ b/src/couch_mrview/src/couch_mrview_util.erl
@@ -359,11 +359,13 @@ validate_args(Args) ->
_ -> mrverror(<<"`keys` must be an array of strings.">>)
end,
- case {Args#mrargs.keys, Args#mrargs.start_key} of
- {undefined, _} -> ok;
- {[], _} -> ok;
- {[_|_], undefined} -> ok;
- _ -> mrverror(<<"`start_key` is incompatible with `keys`">>)
+ case {Args#mrargs.keys, Args#mrargs.start_key,
+ Args#mrargs.end_key} of
+ {undefined, _, _} -> ok;
+ {[], _, _} -> ok;
+ {[_|_], undefined, undefined} -> ok;
+ _ -> mrverror(<<"`keys` is incompatible with `key`"
+ ", `start_key` and `end_key`">>)
end,
case Args#mrargs.start_key_docid of
@@ -372,13 +374,6 @@ validate_args(Args) ->
_ -> mrverror(<<"`start_key_docid` must be a string.">>)
end,
- case {Args#mrargs.keys, Args#mrargs.end_key} of
- {undefined, _} -> ok;
- {[], _} -> ok;
- {[_|_], undefined} -> ok;
- _ -> mrverror(<<"`end_key` is incompatible with `keys`">>)
- end,
-
case Args#mrargs.end_key_docid of
undefined -> ok;
EKDocId0 when is_binary(EKDocId0) -> ok;