You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Brian Candler (JIRA)" <ji...@apache.org> on 2010/08/18 10:43:17 UTC

[jira] Commented: (COUCHDB-642) Support rev in PUT URL

    [ https://issues.apache.org/jira/browse/COUCHDB-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899777#action_12899777 ] 

Brian Candler commented on COUCHDB-642:
---------------------------------------

I'd prefer that the rev in the URL overrode any value in the document, because:

(1) This is what happens for _id. That is, I believe that any _id within the document is ignored in a PUT, in favour of the id in the URL.

(2) I think it's more "relaxed" if I can specify the _id and _rev in the URL, then I can forget about what's in the document. If I were forced to erase the value in the document, or make it equal to what's in the URL, then I'd just put it in the document in the first place.


> Support rev in PUT URL
> ----------------------
>
>                 Key: COUCHDB-642
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-642
>             Project: CouchDB
>          Issue Type: New Feature
>          Components: HTTP Interface
>         Environment: trunk 08 Feb 2010
>            Reporter: Brian Candler
>            Priority: Minor
>         Attachments: 0001-Allow-for-the-current-revision-number-to-be.patch
>
>
> A DELETE request lets you append ?rev=xxxx to the URL. But this doesn't work with a PUT request; you have to put the _rev in the body instead (even though the _id is taken from the URL path)
> $ curl -X PUT -d "{}" http://brianadmin:brianadmin@127.0.0.1:5984/briantest/foo
> {"ok":true,"id":"foo","rev":"1-967a00dff5e02add41819138abb3284d"}
> $ curl -X PUT -d "{}" http://brianadmin:brianadmin@127.0.0.1:5984/briantest/foo?rev=1-967a00dff5e02add41819138abb3284d
> {"error":"conflict","reason":"Document update conflict."}
> $ curl -X PUT -d '{"_rev":"1-967a00dff5e02add41819138abb3284d"}' http://brianadmin:brianadmin@127.0.0.1:5984/briantest/foo
> {"ok":true,"id":"foo","rev":"2-7051cbe5c8faecd085a3fa619e6e6337"}
> Allowing ?rev in the URL would make PUT and DELETE more consistent, and would allow you to replace an existing JSON doc with another one without having to merge the _rev into it first.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.