Heh. Hit send too soon. Anyway, I think you get the idea.
-Damien
On Mar 11, 2009, at 6:46 PM, Damien Katz wrote:
I've added all_or_nothing transactions. It has the behavior that if
a document doesn't pass validation or there is a crash during
update, then no docs are saved. However there is no conflict
checking, so some of thconflicts..
Adding all_or_nothing option to bulk docs. If a doc doesn't pass
validation or there is failure during update, then no docs are
saved. However, there is no conflict checking, if all docs validate
but some or all doc updates are conflicts, they are saved as
conflicts (maybe as winner or as loser) in a single transaction
regardless, all docs are saved and no errors returned the client.
Now we just need merge to trunk.
-Damien
On Mar 11, 2009, at 11:31 AM, Damien Katz wrote:
I'm going to look into adding a "force conflicts" option today.
-Damien
On Mar 10, 2009, at 7:01 PM, Jan Lehnardt wrote:
On 10 Mar 2009, at 23:44, Damien Katz wrote:
I think the rep_security branch is looking pretty solid. I still
have work to do to merge with Adam's recent replicator changes.
This patch breaks the file format and replication API, so
replication with earlier versions is not possible. And the "all
or nothing w/ conflict checking" transactions are gone. Which I
think is good, because people were relying on it without
understanding the rest of CouchDB doesn't support that feature.
I'd like to go ahead and merge this to trunk. Comments,
suggestions and objections please.
I have an app that could benefit of the other variant of bulk
transactions that you offered in the initial proposal, namely
having all writes go through, regardless if they create conflicts
or not. Replication already offers this and a bulk request with
the `new_edits:false` flag set will give me that behaviour, but
not for documents that don't have a `_rev` member. CouchDB crashes
when I send it. I believe the patch to be not too hard (adding new
`_rev`s where they are missing) or I missing anything? I'm happy
to come up with a patch, if there are no objections. I also don't
think this would block merging the branch to trunk.
Cheers
Jan
--