incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damien Katz <damienk...@gmail.com>
Subject Re: 500 server error posting a view
Date Tue, 10 Jun 2008 19:46:32 GMT
The format of your design document is wrong. You need to have the view  
defined using specific json structure like in the example here: http://wiki.apache.org/couchdb/HttpViewApi


On Jun 10, 2008, at 3:25 PM, Brad King wrote:

> When I remove the text/ prefix I still get the 500 error, and the
> query interface in the browser starts throwing "undefined" alert
> boxes. One thing I find confusing is the error is saying
> application/json is not a defined query language. Is my POST supposed
> to have Content-Type application/json or text/javascript? I see a mix
> of both here:
>
> http://wiki.apache.org/couchdb/Views
>
> "Temporary views are not stored in the database, but rather executed
> on demand. To execute a temporary view, you make an HTTP POST request
> to the URI /{dbname}/_temp_view, where the body of the request
> contains the code of the view function and the Content-Type header is
> set to text/javascript. "
>
> OR
>
> http://wiki.apache.org/couchdb/HttpViewApi
>
> "Ad Hoc Views
> One-off queries (eg. views you don't want to save in the CouchDB
> database) can be done via the special view _temp_view:
>
> POST /some_database/_temp_view  HTTP/1.0
> Content-Length: 48
> Date: Mon, 10 Sep 2007 17:11:10 +0200
> Content-Type: application/json
>
> {
>  "map" : "function(doc) { if (doc.foo=='bar') { emit(null,  
> doc.foo); } }"
> }
> "
>
> Seems like conflicting info to accomplish the same thing.
>
>
>
> On 6/10/08, Jan Lehnardt <jan@apache.org> wrote:
>>
>> On Jun 10, 2008, at 21:03, Brad King wrote:
>>
>>> I tried adding the "language" specifier, but no change. The  
>>> couch.ini
>>> section you mentioned looks like this:
>>>
>>> [Couch Query Servers]
>>>
>>> text/javascript=/usr/local/bin/couchjs -f
>>> /usr/local/share/couchdb/server/main.js
>>>
>>
>> drop the "text/" prefix and try again,
>>
>> thx,
>> Jan
>> --
>>
>>
>>>
>>>
>>>
>>> On 6/10/08, Chris Anderson <jchris@grabb.it> wrote:
>>>
>>>> Brad,
>>>>
>>>> there's an (optional) parameter on view json. try this:
>>>>
>>>> {
>>>> "language": "javascript",
>>>> "map" : "function(doc) { emit(null, doc); } "
>>>> }
>>>>
>>>> although "javascript" is supposed to be the default, so it makes me
>>>> wonder if something else s the source of your error.
>>>>
>>>> The problem could be with your couch.ini file -
>>>> /usr/local/etc/couchdb/couch.ini should have a line in
>> it like this
>>>> (which is also the default):
>>>>
>>>> [Couch Query Servers]
>>>>
>>>> javascript=/usr/local/bin/couchjs
>> /usr/local/share/couchdb/server/main.js
>>>>
>>>>
>>>> On Tue, Jun 10, 2008 at 11:18 AM, Brad King <brking@gmail.com>  
>>>> wrote:
>>>>
>>>>> Chris: ah, yes I screwed up the URL, however I still get the 500  
>>>>> after
>>>>> fixing this:
>>>>>
>>>>> POST /product/_temp_view HTTP/1.0
>>>>> Content-Type: application/json
>>>>> Content-Length: 55
>>>>> Host: d0002rptdb02:5984
>>>>>
>>>>> {
>>>>> "map" : "function(doc) { emit(null, doc); } "
>>>>> }
>>>>>
>>>>> Different error though
>>>>>
>>>>> HTTP/1.0 500 Internal Server Error
>>>>> Server: inets/develop
>>>>> Date: Tue, 10 Jun 2008 18:12:52 GMT
>>>>> Cache-Control: no-cache
>>>>> Pragma: no-cache
>>>>> Expires: Tue, 10 Jun 2008 18:12:52 GMT
>>>>> Connection: close
>>>>> Content-Type: text/plain;charset=utf-8
>>>>>
>>>>>
>> {"error":"query_language_unknown","reason":"application\/json"}
>>>>>
>>>>>
>>>>> Jan, this is the correct format for an ad-hoc view, no? the page  
>>>>> you
>>>>> linked me to is where I got the info.
>>>>>
>>>>> BTW I can browse the database just fine with a web browser, and  
>>>>> the
>>>>> default query runs ok in a browser as well.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On 6/10/08, Chris Anderson <jchris@grabb.it> wrote:
>>>>>
>>>>>> Brad,
>>>>>>
>>>>>> It look like the url:
>>>>>>
>>>>>>
>>>>>>> POST /product/_test_view HTTP/1.0
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> should be /product/_design/test_view (for a named view)
>>>>>>
>>>>>> or /product/_temp_view
>>>>>>
>>>>>> assuming your db name is product.
>>>>>>
>>>>>> Hope that helps.
>>>>>>
>>>>>> Chris
>>>>>>
>>>>>> --
>>>>>> Chris Anderson
>>>>>> http://jchris.mfdz.com
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Chris Anderson
>>>> http://jchris.mfdz.com
>>>>
>>>>
>>>
>>>
>>
>>


Mime
View raw message