diff options
author | Robert Newson <rnewson@apache.org> | 2014-02-07 11:00:24 +0000 |
---|---|---|
committer | Robert Newson <rnewson@apache.org> | 2014-02-07 14:40:40 +0000 |
commit | 2bc0784030847cbbdd8998d3f135f91992768f6a (patch) | |
tree | 526463ad97b94e55ced63944919ae41c1a3ec555 | |
parent | e7fdc16a485ec9a9d3b6bb3555957e367ec55f11 (diff) | |
download | couchdb-2bc0784030847cbbdd8998d3f135f91992768f6a.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.erl | 19 |
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; |