On Tue, Aug 25, 2009 at 2:39 AM, francisco treacy<[email protected]> 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 <[email protected]>: >> 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<[email protected]> 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 >>>> [email protected] >>>> >>>> >>>> On Mon, Jun 8, 2009 at 11:17 PM, Chris Anderson <[email protected]> >>>> wrote: >>>> >>>>> On Mon, Jun 8, 2009 at 9:07 PM, Nitin Borwankar<[email protected]> >>>>> 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:[email protected]: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 >>>>>> [email protected] >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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
