couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabor Ratky (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1202) Function 'require' undefined in reduce functions, cannot require CommonJS module
Date Mon, 27 Jun 2011 17:18:47 GMT
Function 'require' undefined in reduce functions, cannot require CommonJS module
--------------------------------------------------------------------------------

                 Key: COUCHDB-1202
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1202
             Project: CouchDB
          Issue Type: Bug
          Components: JavaScript View Server
    Affects Versions: 1.1
         Environment: Mac OS X 10.6.8, CouchDB 1.1.0 (homebrew), Erlang R14B03
            Reporter: Gabor Ratky
            Priority: Minor


CouchDB 1.1.0 views can require CommonJS modules according to the Modules 1.1.1 specification
when defined in the design document under "views/lib". In CouchDB 1.1.0 this works in map
functions, but the "require" is undefined in reduce functions. See the shell transcript along
with the design document and log output. Also available at [1].

ddoc.json:
{
  "views": {
     "lib": {
         "foo": "exports.bar = 42;"
     },
     "test": {
         "map": "function(doc) { emit(doc._id, require('views/lib/foo').bar); }",
         "reduce": "function (keys, values, rereduce) { return require('views/lib/foo').bar;
}"
     }
  }
}

require_test.sh:

$ curl http://localhost:5984
{"couchdb":"Welcome","version":"1.1.0"}

$ curl -X PUT http://localhost:5984/reduce_test
{"ok":true}

$ curl -X PUT http://localhost:5984/reduce_test/_design/test --data @ddoc.json
{"ok":true,"id":"_design/test","rev":"1-5a587aeb82027657db334265037a4692"}

$ curl -X POST http://localhost:5984/reduce_test -H "Content-Type: application/json" -d '{}'
{"ok":true,"id":"cd5869297d813d45d3e9f8016f001834","rev":"1-967a00dff5e02add41819138abb3284d"}

$ curl "http://localhost:5984/reduce_test/_design/test/_view/test?reduce=false"
{"total_rows":1,"offset":0,"rows":[
{"id":"cd5869297d813d45d3e9f8016f001834","key":"cd5869297d813d45d3e9f8016f001834","value":42}
]}

$ curl "http://localhost:5984/reduce_test/_design/test/_view/test"
{"rows":[
{"key":null,"value":null}
]}

^^^ Expected {"key":null,"value":42}

couch.log:

[info] [<0.313.0>] OS Process #Port<0.2368> Log :: function raised exception (new
ReferenceError("require is not defined", ""))
[info] [<0.14096.0>] 127.0.0.1 - - 'GET' /reduce_test/_design/test/_view/test 200

[1] https://gist.github.com/1049231

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

        

Mime
View raw message