You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by francisco treacy <fr...@gmail.com> on 2009/08/25 11:39:59 UTC
Re: ids starting with " _" disallowed via Futon but not via HTTP doc
api ?
Hi all,
I'm afraid I don't understand what is the current state of handling
underscore on keys.
When I PUT documents containing a key that starts with an
underscore... it works fine for me on CouchDB 0.9.
{"_id":"_design/surf","_rev":"1-455975032","_type": "mytype" }
However apparently for other people this does not, at least not on
CouchDB 0.9.1:
Response while PUTting: HTTP 500:
{"error":"doc_validation","reason":"Bad special document member:
_type"}
Has it been changed at some point in 0.9? Does it have something to do
with the fact that the document is a design doc? Any other insights?
Thanks,
Francisco
2009/6/12 Paul Davis <pa...@gmail.com>:
> Enda,
>
> I'd need to know what versions of CouchDB you were using to be sure,
> but my guess is that the '_' inconsistency was our fault. For awhile
> there we managed to have it so only '_' members with an integer value
> were being caught.
>
> Paul
>
> On Fri, Jun 12, 2009 at 6:22 AM, Enda Farrell<en...@bbc.co.uk> wrote:
>> We found, can't remember if it was an 0.8 or a 0.9 that - while you
>> can/could create keys starting with an _underscore, the replication module
>> wouldn't replicate databases with such keys. Even after you deleted them.
>>
>> Jan Lehnardt wrote:
>>
>> On 9 Jun 2009, at 07:41, Nitin Borwankar wrote:
>>
>>> I am using CouchDBx 0.9 on my Mac -
>>
>> I believe the _-enforcement is a trunk-only feature at this point.
>> CouchDBX will catch up once 0.10 is released (or if you compile
>> the core* yourself).
>>
>> * http://github.com/janl/couchdbx-core/tree/master
>>
>> Cheers
>> Jan
>>
>>
>>> strangely enough Futon blocks it but the
>>> HTTP API lets it in - does Futon separately vaidate for the '_' ?
>>>
>>> Nitin
>>>
>>> 37% of all statistics are made up on the spot
>>>
>>> -------------------------------------------------------------------------------------
>>> Nitin Borwankar
>>> nborwankar@gmail.com
>>>
>>>
>>> On Mon, Jun 8, 2009 at 11:17 PM, Chris Anderson <jc...@apache.org>
>>> wrote:
>>>
>>>> On Mon, Jun 8, 2009 at 9:07 PM, Nitin Borwankar<ni...@borwankar.com>
>>>> wrote:
>>>>> Futon complains when I try to create a doc with id "_abc" but via
>>>>> curl no
>>>>> problem.
>>>>>
>>>>> NitinBorwankarsComputer:~ nitin$ curl -X PUT
>>>>> http://127.0.0.1:5984/test/_abc-H "Content-Type: application/json"
>>>>> -d
>>>>> {}
>>>>> {"ok":true,"id":"_abc","rev":"1-3856470053"}
>>>>>
>>>>> NitinBorwankarsComputer:~ nitin$ curl -X GET
>>>> http://127.0.0.1:5984/test/_abc
>>>>>
>>>>> {"_id":"_abc","_rev":"1-3856470053"}
>>>>
>>>> Hmm. I'm not sure. You should never be able to create _prefixed doc
>>>> ids unless they are _design or _local.
>>>>
>>>> On trunk I get:
>>>>
>>>> $ curl -X PUT http://jchris:animal@127.0.0.1:5984/test/_foo -d {}
>>>> {"error":"bad_request","reason":"Only reserved document ids may start
>>>> with underscore."}
>>>>
>>>> Which is what you ought to get. I guess this must have been fixed
>>>> since the version you are using.
>>>>
>>>>>
>>>>> So what's happening here - is Futon enforcing some future rule and
>>>>> HTTP
>>>> API
>>>>> not there yet or ....?
>>>>>
>>>>> Nitin
>>>>>
>>>>>
>>>>> 37% of all statistics are made up on the spot
>>>>>
>>>>
>>>> -------------------------------------------------------------------------------------
>>>>> Nitin Borwankar
>>>>> nborwankar@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Chris Anderson
>>>> http://jchrisa.net
>>>> http://couch.io
>>>>
>>
>>
>> http://www.bbc.co.uk
>> This e-mail (and any attachments) is confidential and may contain personal
>> views which are not the views of the BBC unless specifically stated.
>> If you have received it in error, please delete it from your system.
>> Do not use, copy or disclose the information in any way nor act in reliance
>> on it and notify the sender immediately.
>> Please note that the BBC monitors e-mails sent or received.
>> Further communication will signify your consent to this.
>
Re: ids starting with " _" disallowed via Futon but not via HTTP doc
api ?
Posted by Chris Anderson <jc...@apache.org>.
On Tue, Aug 25, 2009 at 2:39 AM, francisco
treacy<fr...@gmail.com> wrote:
> Hi all,
>
> I'm afraid I don't understand what is the current state of handling
> underscore on keys.
>
> When I PUT documents containing a key that starts with an
> underscore... it works fine for me on CouchDB 0.9.
>
> {"_id":"_design/surf","_rev":"1-455975032","_type": "mytype" }
>
> However apparently for other people this does not, at least not on
> CouchDB 0.9.1:
>
> Response while PUTting: HTTP 500:
> {"error":"doc_validation","reason":"Bad special document member:
> _type"}
>
> Has it been changed at some point in 0.9? Does it have something to do
> with the fact that the document is a design doc? Any other insights?
>
The underscore namespace is reserved for internal use by CouchDB, for
things like _id, _rev, _attachments, _conflicts, etc. We had a bug
that failed to check for illegal underscores in all cases. This has
been fixed for 0.10.
> Thanks,
>
> Francisco
>
>
> 2009/6/12 Paul Davis <pa...@gmail.com>:
>> Enda,
>>
>> I'd need to know what versions of CouchDB you were using to be sure,
>> but my guess is that the '_' inconsistency was our fault. For awhile
>> there we managed to have it so only '_' members with an integer value
>> were being caught.
>>
>> Paul
>>
>> On Fri, Jun 12, 2009 at 6:22 AM, Enda Farrell<en...@bbc.co.uk> wrote:
>>> We found, can't remember if it was an 0.8 or a 0.9 that - while you
>>> can/could create keys starting with an _underscore, the replication module
>>> wouldn't replicate databases with such keys. Even after you deleted them.
>>>
>>> Jan Lehnardt wrote:
>>>
>>> On 9 Jun 2009, at 07:41, Nitin Borwankar wrote:
>>>
>>>> I am using CouchDBx 0.9 on my Mac -
>>>
>>> I believe the _-enforcement is a trunk-only feature at this point.
>>> CouchDBX will catch up once 0.10 is released (or if you compile
>>> the core* yourself).
>>>
>>> * http://github.com/janl/couchdbx-core/tree/master
>>>
>>> Cheers
>>> Jan
>>>
>>>
>>>> strangely enough Futon blocks it but the
>>>> HTTP API lets it in - does Futon separately vaidate for the '_' ?
>>>>
>>>> Nitin
>>>>
>>>> 37% of all statistics are made up on the spot
>>>>
>>>> -------------------------------------------------------------------------------------
>>>> Nitin Borwankar
>>>> nborwankar@gmail.com
>>>>
>>>>
>>>> On Mon, Jun 8, 2009 at 11:17 PM, Chris Anderson <jc...@apache.org>
>>>> wrote:
>>>>
>>>>> On Mon, Jun 8, 2009 at 9:07 PM, Nitin Borwankar<ni...@borwankar.com>
>>>>> wrote:
>>>>>> Futon complains when I try to create a doc with id "_abc" but via
>>>>>> curl no
>>>>>> problem.
>>>>>>
>>>>>> NitinBorwankarsComputer:~ nitin$ curl -X PUT
>>>>>> http://127.0.0.1:5984/test/_abc-H "Content-Type: application/json"
>>>>>> -d
>>>>>> {}
>>>>>> {"ok":true,"id":"_abc","rev":"1-3856470053"}
>>>>>>
>>>>>> NitinBorwankarsComputer:~ nitin$ curl -X GET
>>>>> http://127.0.0.1:5984/test/_abc
>>>>>>
>>>>>> {"_id":"_abc","_rev":"1-3856470053"}
>>>>>
>>>>> Hmm. I'm not sure. You should never be able to create _prefixed doc
>>>>> ids unless they are _design or _local.
>>>>>
>>>>> On trunk I get:
>>>>>
>>>>> $ curl -X PUT http://jchris:animal@127.0.0.1:5984/test/_foo -d {}
>>>>> {"error":"bad_request","reason":"Only reserved document ids may start
>>>>> with underscore."}
>>>>>
>>>>> Which is what you ought to get. I guess this must have been fixed
>>>>> since the version you are using.
>>>>>
>>>>>>
>>>>>> So what's happening here - is Futon enforcing some future rule and
>>>>>> HTTP
>>>>> API
>>>>>> not there yet or ....?
>>>>>>
>>>>>> Nitin
>>>>>>
>>>>>>
>>>>>> 37% of all statistics are made up on the spot
>>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------------------
>>>>>> Nitin Borwankar
>>>>>> nborwankar@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Chris Anderson
>>>>> http://jchrisa.net
>>>>> http://couch.io
>>>>>
>>>
>>>
>>> http://www.bbc.co.uk
>>> This e-mail (and any attachments) is confidential and may contain personal
>>> views which are not the views of the BBC unless specifically stated.
>>> If you have received it in error, please delete it from your system.
>>> Do not use, copy or disclose the information in any way nor act in reliance
>>> on it and notify the sender immediately.
>>> Please note that the BBC monitors e-mails sent or received.
>>> Further communication will signify your consent to this.
>>
>
--
Chris Anderson
http://jchrisa.net
http://couch.io