couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Barker <norman.bar...@gmail.com>
Subject Re: Muti-View support : feedback,issues, and question
Date Mon, 20 Sep 2010 15:52:20 GMT
Hi,

thanks for testing this out, this looks like a configuration issue,
_multi should be a registered httpd_db_handler in local.ini as
follows.

[httpd_db_handlers]
_multi = {multiview_httpd, handle_request}

I will look into this and make sure it gets added.

In the test scripts the following code

    var ddocThree = {
      _id:"_design/three",
      views: {
        "test" : {map: "function (doc) {if (doc.integer % 3 == 0)
emit(doc.integer, null)};"}
      }
    };

is emitting keys with the doc._id as an integer, in this case for
multiples of 3, the second view ddocFour is emitting the documents
with keys that are multiples of 4.

Hence when we do a multiview and find the intersections of these two
views we get the documents whose id (as integer keys) are multiples of
12.

Norman

On Mon, Sep 20, 2010 at 5:27 AM,  <cdr53x@free.fr> wrote:
>
>
>
> Hi,
>
> We successfully installed the multiview couchdb from the git, and there seems to be some
issues with the tests demonstrating the mutiview features.
>
> 1/ Issue #1 : muti view demonstration test is not available from Futon
>
> We can see it is included in the tests ( file share/couchdb/www/script/couch_tests.js
), but not shown in Futon.
>
> This can be fixed by copying the multiview.js file in the share/couchdb/www/script/tests
directory on install time.
>
> Adding the file in the share/Makefile.am should fix the build process.
>
>
> 2/ Issue #2 : the test fails
>
> When we finally add it the test fails with the following errors :
>
> 1.Assertion failed : results.row
> 2.Assertion failed : results.row
>
> The log is pretty verbose (with debug level), but basicaly there seems to be a 400 error
when views URL is queried.
>
> Here is an extract of the log, full log is attached (and gzipped) :
>
> [Mon, 20 Sep 2010 11:01:46 GMT] [debug] [<0.155.0>] httpd 400 error response:
>  {"error":"bad_request","reason":"Only reserved document ids may start with underscore."}
>
> [Mon, 20 Sep 2010 11:01:46 GMT] [debug] [<0.599.0>] 'POST' /test_suite_db/_multi
{1,1}
> Headers: [{'Accept',"application/json"},
>          {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
>          {'Accept-Encoding',"gzip,deflate"},
>          {'Accept-Language',"en-us,en;q=0.5"},
>          {'Cache-Control',"no-cache"},
>          {'Connection',"keep-alive"},
>          {'Content-Length',"52"},
>          {'Content-Type',"application/json; charset=UTF-8"},
>          {'Host',"127.0.0.1:5985"},
>          {'Keep-Alive',"115"},
>          {'Pragma',"no-cache"},
>          {'Referer',"http://127.0.0.1:5985/_utils/couch_tests.html?script/couch_tests.js"},
>          {'User-Agent',"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.10) Gecko/20100915
Ubuntu/10.04 (lucid) Firefox/3.6.10"}]
> [Mon, 20 Sep 2010 11:01:46 GMT] [debug] [<0.599.0>] OAuth Params: []
> [Mon, 20 Sep 2010 11:01:46 GMT] [debug] [<0.599.0>] Minor error in HTTP request:
{bad_request,
>                                 <<"Only reserved document ids may
start with underscore.">>}
> [Mon, 20 Sep 2010 11:01:46 GMT] [debug] [<0.599.0>] Stacktrace: [{couch_doc,validate_docid,1},
>             {couch_httpd_db,db_doc_req,3},
>             {couch_httpd_db,do_db_req,2},
>             {couch_httpd,handle_request_int,5},
>             {mochiweb_http,headers,5},
>             {proc_lib,init_p_do_apply,3}]
>
>
> 3/ The demo test script is not clear
>
> Our understanding is that this feature returns  an intersection (on docid) from several
view queries. At least this is what we read on the mailing list.
>
> However, it is not cleat at all how keys are sent to the distinct views. Especially,
how can we use the multi view and send different keys for the different views.
>
> Let's say that :
>
> we have a view using  doc creation date as a key
> another view using doc author as  key
>
> We would like to get all the documents created by a particular author for a given time
range, how do we provide the appropriate key.
>
> A clear example would really be appreciated because currently, there are no keys provided
in  the js example code.
>
> ( BTW we know that this particular example can be resolved using collation, however it
seemed the simplest example we can find for the multi view criteria selection ).
>
> Regards,
>
> cdrx
>
>

Mime
View raw message