Return-Path: X-Original-To: apmail-couchdb-commits-archive@www.apache.org Delivered-To: apmail-couchdb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9452111C58 for ; Wed, 6 Aug 2014 10:38:57 +0000 (UTC) Received: (qmail 88488 invoked by uid 500); 6 Aug 2014 10:38:52 -0000 Delivered-To: apmail-couchdb-commits-archive@couchdb.apache.org Received: (qmail 88313 invoked by uid 500); 6 Aug 2014 10:38:52 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 88296 invoked by uid 99); 6 Aug 2014 10:38:52 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Aug 2014 10:38:52 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 33FBC88A827; Wed, 6 Aug 2014 10:38:52 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rnewson@apache.org To: commits@couchdb.apache.org Date: Wed, 06 Aug 2014 10:38:53 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [2/2] couch-mrview commit: updated refs/heads/windsor-merge to 258abc4 Gracefully handle design document updates with malformatted structure Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/258abc4a Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/258abc4a Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/258abc4a Branch: refs/heads/windsor-merge Commit: 258abc4a13e8e3fb586d71c0843d6f5ed6a0ecf4 Parents: 5942d53 Author: Robert Newson Authored: Wed Aug 6 11:34:25 2014 +0100 Committer: Robert Newson Committed: Wed Aug 6 11:34:25 2014 +0100 ---------------------------------------------------------------------- src/couch_mrview.erl | 9 +++++++++ 1 file changed, 9 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/258abc4a/src/couch_mrview.erl ---------------------------------------------------------------------- diff --git a/src/couch_mrview.erl b/src/couch_mrview.erl index 4c2de5f..22e9fbd 100644 --- a/src/couch_mrview.erl +++ b/src/couch_mrview.erl @@ -43,6 +43,15 @@ validate(DbName, DDoc) -> + {Fields} = DDoc#doc.body, + case couch_util:get_value(<<"options">>, Fields, {[]}) of + {_} -> ok; + _ -> throw({invalid_design_doc, <<"`options` parameter must be an object.">>}) + end, + case couch_util:get_value(<<"views">>, Fields, {[]}) of + {_} -> ok; + _ -> throw({invalid_design_doc, <<"`views` parameter must be an object.">>}) + end, GetName = fun (#mrview{map_names = [Name | _]}) -> Name; (#mrview{reduce_funs = [{Name, _} | _]}) -> Name;