|
Re: Bulk insert conflicts: msg#00135db.couchdb.devel
On Fri, Jul 25, 2008 at 10:39:49AM -0500, Gilbert B Garza wrote: > If there are any confllicts, I suggest that it would look something like > this: > > { > "ok":true, > "conflicts":true, > "new_revs": [ > {"id": "1", "rev": "12345"}, > {"id": "3", "rev": "23456"}, > {"id": "4", "rev": "34567"} > ] > "conflict_revs": [ > {"id": "0", "attempted_rev": "1001", "current_rev": "1002"}, > {"id": "2", "attempted_rev": "5000", "current_rev": "5002"} > ] > } > > This way, not only do you know which documents had conflicts, but the entire > bulk operation does not have to fail. I like the idea of indicating which documents caused the conflict. I can see how that would make it easier to resolve the conflicts and try again. The current bulk_docs behavior of failing the entire operation when one part fails is a very useful feature though. It allows for limited transactions. I use the bulk_docs feature to maintain the database in a consistent state when I need to delete one document and create another one. If either operation fails, I know that the entire bulk_docs request will fail and the database will still be in a consistent state. Perhaps using something like this as the body of the 412 response: { "ok":false, "conflict_revs": [ {"id": "0", "attempted_rev": "1001", "current_rev": "1002"}, {"id": "2", "attempted_rev": "5000", "current_rev": "5002"} ] } I removed "conflicts":true since that can be inferred from the presence of conflicted_revs. -- Michael |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Bulk insert conflicts: 00135, Chris Anderson |
|---|---|
| Next by Date: | [jira] Resolved: (COUCHDB-95) HTTP/mochiweb failures when tested via Safari: 00135, Christopher Lenz (JIRA) |
| Previous by Thread: | Re: Bulk insert conflictsi: 00135, Chris Anderson |
| Next by Thread: | Re: Bulk insert conflicts: 00135, Gilbert B Garza |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |