> Now I'm confused... I guess I put the comment about your patch on the
> wrong ticket?

Yes, exactly.

> >> patch looks great! thanks so much. only change I'd suggest is removing 
> >> this change:
> >> 
> >>       basicView : {
> >>         map : stringFun(function(doc) {
> >> -          emit(doc.integer, doc.string);
> >> +          if (doc.integer && doc.string)
> >> +            emit(doc.integer, doc.string);
> >>         })
> >>       },
> >>       withReduce : {
> >>         map : stringFun(function(doc) {
> >> -          emit(doc.integer, doc.string);
> >> +          if (doc.integer && doc.string)
> >> +            emit(doc.integer, doc.string);
> >>         }),
> >> 
> >> 
> >> I know these guard conditions are good practice, but in real life there 
> >> are lots of "bad" views out there, so we should ensure the tests pass even 
> >> without the guards.

The if-condition is necessary for my test. Later in it, I add documents
without "integer" and "string" fields. The if-condition prevents these
documents from changing the view indices. That is, I assert that the
view indices are equal to the ones before, and that the ETag has not
changed.

Please tell me if you still think the if-condition shouldn't be there,
so I'd just add another design document for my test instead.


- Klaus


On Tue, 2010-08-17 at 18:24 -0700, J Chris Anderson wrote:
> On Aug 16, 2010, at 11:52 AM, Klaus Trainer wrote:
> 
> > Hey Chris,
> > 
> > I guess there was a race condition while you processed Benoit's and my
> > patch in parallel.
> > 
> 

> 
> Chris
> 
> > Cheers,
> > Klaus
> > 
> > 
> > On Mon, 2010-08-16 at 13:17 -0400, Chris Anderson (JIRA) wrote:
> >> [ 
> >> https://issues.apache.org/jira/browse/COUCHDB-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898993#action_12898993
> >>  ] 
> >> 
> >> Chris Anderson commented on COUCHDB-855:
> >> ----------------------------------------
> >> 
> >> patch looks great! thanks so much. only change I'd suggest is removing 
> >> this change:
> >> 
> >>       basicView : {
> >>         map : stringFun(function(doc) {
> >> -          emit(doc.integer, doc.string);
> >> +          if (doc.integer && doc.string)
> >> +            emit(doc.integer, doc.string);
> >>         })
> >>       },
> >>       withReduce : {
> >>         map : stringFun(function(doc) {
> >> -          emit(doc.integer, doc.string);
> >> +          if (doc.integer && doc.string)
> >> +            emit(doc.integer, doc.string);
> >>         }),
> >> 
> >> 
> >> I know these guard conditions are good practice, but in real life there 
> >> are lots of "bad" views out there, so we should ensure the tests pass even 
> >> without the guards.
> >> 
> >>> New host manager
> >>> ----------------
> >>> 
> >>>                Key: COUCHDB-855
> >>>                URL: https://issues.apache.org/jira/browse/COUCHDB-855
> >>>            Project: CouchDB
> >>>         Issue Type: Improvement
> >>>   Affects Versions: 1.1
> >>>           Reporter: Benoit Chesneau
> >>>           Assignee: Benoit Chesneau
> >>>            Fix For: 1.1
> >>> 
> >>>        Attachments: 
> >>> 0001-New-vhost-manager.-allows-dynamic-add-of-vhosts-with.patch
> >>> 
> >>> 
> >>> New vhost manager. allows dynamic add of vhosts without restart, wildcard 
> >>> in vhost and specific functions in erlang by kind of domain. It also fix 
> >>> issue in etap test (160) .
> >>> Find attached to this ticket the patch. It is also available in my github 
> >>> repo :
> >>> http://github.com/benoitc/couchdb/commit/435c756cc6e687886cc7055302963f422cf0e161
> >>> more details :
> >>> This gen_server keep state of vhosts added to the ini and try to
> >>> match the Host header (or forwarded) against rules built against
> >>> vhost list. 
> >>> Declaration of vhosts take place in the configuration file :
> >>> [vhosts]
> >>> example.com = /example
> >>> *.example.com = /example
> >>> The first line will rewrite the rquest to display the content of the
> >>> example database. This rule works only if the Host header is
> >>> 'example.com' and won't work for CNAMEs. Second rule on the other hand
> >>> match all CNAMES to example db. So www.example.com or db.example.com
> >>> will work.
> >>> The wildcard ('*') should always be the last in the cnames:
> >>>     "*.db.example.com = /"  will match all cname on top of db
> >>> examples to the root of the machine. (for now no rewriting is
> >>> possible).
> >>> By default vhosts redirection is handle by the function
> >>> couch_httpd_vhost:redirect_to_vhost, but you could pass per vhost a
> >>> specific function :
> >>>     "*.domain.com" = {Module, Func}"
> >>> The function take the Mochiweb Request object and should return a new
> >>> Mochiweb Request object.
> >>> You could also change the default function to handle request by
> >>> changing the setting `redirect_vhost_handler` in `httpd` section of
> >>> the Ini:
> >>>      [httpd]
> >>>      redirect_vhost_handler = {Module, Fun}
> >>> The function take 2 args : the mochiweb request object and the target
> >>> path. 
> >> 
> > 
> > 


Reply via email to