[ https://issues.apache.org/jira/browse/COUCHDB-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12779736#action_12779736 ]
Paul Joseph Davis commented on COUCHDB-188: ------------------------------------------- couchTests.custom_test = function(debug) { var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"}); db.deleteDb(); db.createDb(); var results = db.bulkSave([{_id: 'foo'}]); var orig_rev = results[0].rev; results = db.bulkSave([ {_id: 'foo', _rev: "2-eec205a9d413992850a6e32678485900"}, {_id: 'foo', _rev: orig_rev, _deleted: true} ]); alert(JSON.stringify(results)); T(results[0].error === undefined); T(results[1].error === undefined); }; Slightly interesting, the order of updates is backwards. Also, it works if we specify what the _rev would be after the delete call. > _bulk_docs fails when deleting and adding a doc with the same id > ---------------------------------------------------------------- > > Key: COUCHDB-188 > URL: https://issues.apache.org/jira/browse/COUCHDB-188 > Project: CouchDB > Issue Type: Bug > Components: Database Core > Affects Versions: 0.9 > Environment: CouchDB revision 730414. > Reporter: Matt Goodall > Fix For: 0.9 > > > CouchDB returns a "412 Precondition Failed" when the list of changes sent to > _bulk_docs deletes a document and later creates a document with the same id > as the deleted document: > {"docs": [ > {"_id": "docid", "_rev": "<rev>", "_deleted": true}, > {"_id": "docid"} > ]} > Once fixed, the response JSON document will return the same docid twice in > the list but it's presumably ordered consistently with the request data so > any client should be able to understand the response. > Demonstrating the problem using curl is easy enough: > $ curl -X PUT http://localhost:5984/test > {"ok":true} > $ curl -X PUT -d "{}" http://localhost:5984/test/docid > {"ok":true,"id":"docid","rev":"4140747751"} > $ curl -X POST -d '{"docs": [{"_id": "docid", "_rev": "4140747751", > "_deleted": true}, {"_id": "docid"}]}' http://localhost:5984/test/_bulk_docs > {"error":"conflict","reason":"Document update conflict."} > Note: this is likely related to COUCHDB-172. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.