CouchDB transactions are at the individual document level, _bulk_docs are *not* 
atomic at the group level with any settings.

B.

On 6 Feb 2014, at 23:01, Mark Hahn <[email protected]> wrote:

> That doesn't guarantee a real transaction though, does it?  Two of these
> could overlap.
> 
> Also: "If the _rev does not match the current version of the document, then
> that particular document will *not* be saved ..."
> 
> Since you can't prevent collisions this would seem to be a show-stopper.
> 
> 
> On Thu, Feb 6, 2014 at 2:41 PM, Tim Black <[email protected]> wrote:
> 
>> 
>> On 02/06/2014 04:07 PM, Jo-Erlend Schinstad wrote:
>>> A while ago (a year or so) I tried to use CouchDB to model trees. This
>>> worked fine, except inserting or moving nodes proved very difficult, if
>> not
>>> impossible. The reason was that when I wanted to a move or insert, that
>>> meant updating prev_node on two different documents. If something
>> happened
>>> after the first document was updated and before the second was updated,
>> it
>>> would mean the tree would be completely broken.
>>> 
>>> If I could get a guarantee that these two documents were updated
>>> simultaneous or not at all, both in the local database and while
>>> replicating, I believe all my problems would be fixed. And I would
>>> absolutely love this, because I was able to do some pretty cool things in
>>> my prototypes.
>>> 
>>> So; is this possible now or will it be? Just to be clear; I'm not asking
>>> for relationships between documents, but merely a guarantee that a group
>> of
>>> documents are updated simultaneously or not at all.
>> I need to do the same thing.  Would bulk updates solve the problem for you?
>> 
>> 
>> http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API#Modify_Multiple_Documents_With_a_Single_Request
>> 
>> Tim
>> 
>> 

Reply via email to