Return-Path: Delivered-To: apmail-incubator-couchdb-commits-archive@locus.apache.org Received: (qmail 28019 invoked from network); 23 May 2008 21:49:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 May 2008 21:49:28 -0000 Received: (qmail 69216 invoked by uid 500); 23 May 2008 21:49:30 -0000 Delivered-To: apmail-incubator-couchdb-commits-archive@incubator.apache.org Received: (qmail 69194 invoked by uid 500); 23 May 2008 21:49:30 -0000 Mailing-List: contact couchdb-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: couchdb-dev@incubator.apache.org Delivered-To: mailing list couchdb-commits@incubator.apache.org Received: (qmail 69185 invoked by uid 99); 23 May 2008 21:49:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 May 2008 14:49:30 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 May 2008 21:48:44 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id AE329238896F; Fri, 23 May 2008 14:49:05 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r659676 - /incubator/couchdb/trunk/src/couchdb/couch_db.erl Date: Fri, 23 May 2008 21:49:05 -0000 To: couchdb-commits@incubator.apache.org From: damien@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080523214905.AE329238896F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: damien Date: Fri May 23 14:49:04 2008 New Revision: 659676 URL: http://svn.apache.org/viewvc?rev=659676&view=rev Log: fix for missing conflict check during serialized update Modified: incubator/couchdb/trunk/src/couchdb/couch_db.erl Modified: incubator/couchdb/trunk/src/couchdb/couch_db.erl URL: http://svn.apache.org/viewvc/incubator/couchdb/trunk/src/couchdb/couch_db.erl?rev=659676&r1=659675&r2=659676&view=diff ============================================================================== --- incubator/couchdb/trunk/src/couchdb/couch_db.erl (original) +++ incubator/couchdb/trunk/src/couchdb/couch_db.erl Fri May 23 14:49:04 2008 @@ -121,7 +121,7 @@ delete_doc(MainPid, Id, Revisions) -> DeletedDocs = [#doc{id=Id, revs=[Rev], deleted=true} || Rev <- Revisions], - {ok, [Result]} = update_docs(MainPid, DeletedDocs, [new_edits]), + {ok, [Result]} = update_docs(MainPid, DeletedDocs, []), {ok, Result}. open_doc(MainPid, IdOrDocInfo) -> @@ -291,13 +291,13 @@ % flush unwritten binaries to disk. DocBuckets3 = [[doc_flush_binaries(Doc, Db#db.fd) || Doc <- Bucket] || Bucket <- DocBuckets2], - case gen_server:call(MainPid, {update_docs, DocBuckets3, Options}) of + case gen_server:call(MainPid, {update_docs, DocBuckets3, [new_edits | Options]}) of ok -> {ok, NewRevs}; retry -> Db2 = get_db(MainPid), DocBuckets4 = [[doc_flush_binaries(Doc, Db2#db.fd) || Doc <- Bucket] || Bucket <- DocBuckets3], % We only retry once - case gen_server:call(MainPid, {update_docs, DocBuckets4, Options}) of + case gen_server:call(MainPid, {update_docs, DocBuckets4, [new_edits | Options]}) of ok -> {ok, NewRevs}; Else -> throw(Else) end; @@ -838,7 +838,7 @@ end, {0, 0}, OldDocLookups), % Merge the new docs into the revision trees. - NoConflicts = lists:member(no_conflicts, Options), + NoConflicts = lists:member(new_edits, Options), {ok, NewDocInfos, NewSeq} = merge_rev_trees(NoConflicts, DocsList2, OldDocInfos, [], LastSeq), RemoveSeqs =