While it might be a bug, it does work as expected. According to the docs, http://wiki.apache.org/couchdb/HTTP_Document_API .
Using 0.9, (r 760733) uploading a doc with attachments and a _rev does not cause any error. Regards, Jeff Hinrichs On Mon, Apr 6, 2009 at 12:55 PM, Damien Katz <[email protected]> wrote: > Looks like a bug, you should get a conflict error on the first update. > Please create a bug report with a failing JS test case. > > -Damien > > > > On Apr 6, 2009, at 1:42 PM, Matt Goodall wrote: > > Hi, >> >> I came across an inconsistency with _bulk_docs when creating new >> documents, i.e. calling _bulk_docs against an empty database. >> >> It seems that it's ok to create a new document from a JSON object that >> includes a _rev ... unless the JSON also has inline attachments: >> >> $ curl -X "POST" -d >> "{\"docs\":[{\"_id\":\"a\",\"_rev\":\"1-3864900503\"}]}" >> "http://localhost:5984/test/_bulk_docs" >> [{"id":"a","rev":"2-1966182305"}] >> $ curl -X "POST" -d >> >> "{\"docs\":[{\"_id\":\"b\",\"_rev\":\"2-3530543911\",\"_attachments\":{\"hello.txt\":{\"content_type\":\"text/plain\",\"data\":\"SGVsbG8K\"}}}]}" >> "http://localhost:5984/test/_bulk_docs" >> [{"id":"b","error":"conflict","reason":"Document update conflict."}] >> >> I'll write JS tests for this and create a ticket but, at this stage, >> I'm not sure what the correct behaviour is: >> >> 1. CouchDB should not allow a document to be created from JSON >> containing a _rev at all. >> 2. JSON that includes _rev and _attachements should work. >> >> Assuming the _rev is allowed, should CouchDB then: >> >> 1. Completely ignore the _rev in the JSON and assign a new 1-based >> rev, i.e. 1-abc in, 1-def out. >> 2. Allow the _rev in the JSON and assign a new, incremented rev, i.e. >> 1-abc in, 2-def out. >> 3. Accept the _rev in the JSON as-is, i.e. 1-abc in, 1-abc out. (I'm >> not expecting this one to be correct!) >> >> - Matt >> > >
