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

Jan Lehnardt commented on COUCHDB-1268:
---------------------------------------

I agree that ?rev should be honoured, but I disagree that _id and _rev should 
not be part of the document itself. Other than theoretical purity I haven't 
seen any strong arguments against this and I've only seen good things coming 
out of it and I conclude that it is a very nice practical compromise. But we've 
had that discussion numerous times.

> "?rev=" URL query parameter
> ---------------------------
>
>                 Key: COUCHDB-1268
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1268
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>    Affects Versions: 1.2
>         Environment: linux
>            Reporter: gert cuykens
>            Priority: Trivial
>              Labels: api-change
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When PUTting a document you have to specify the current revision as a _rev 
> key in the JSON; whereas many related requests (like DELETE, COPY and PUT of 
> an attachment) specify the revision in a "?rev=" URL query parameter instead. 
> The first example, will result into a document conflict because rev is not 
> specified in the JSON and the rev from the url gets ignored. All other 
> examples work. I strongly believe JSON bodies like this should never contain 
> _id and _rev and will improve in much better client code.
> curl -X PUT http://localhost:5984/_users/user%3Agert?rev=5xxx -H
> 'Content-Type: application/json' -d{
>  "_id"          : "user:gert",
>  "type"         : "user",
>  "name"         : "gert",
>  "roles"        : [],
>  "password_sha" : "",
>  "salt"         : ""
> }'
> curl -X PUT http://localhost:5984/_users/user%3Agert -H 'Content-Type:
> application/json' -d{
>  "_id"          : "user:gert",
>  "_rev":"5xxx",
>  "type"         : "user",
>  "name"         : "gert",
>  "roles"        : [],
>  "password_sha" : "",
>  "salt"         : ""
> }'
> curl -X PUT http://localhost:5984/_users/user%3Agert/picture?rev=5xxx
> -H 'Content-Type: image/png' -d @picture.png

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to