[ 
https://issues.apache.org/jira/browse/COUCHDB-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208441#comment-13208441
 ] 

Benoit Chesneau commented on COUCHDB-1398:
------------------------------------------

Hi Filipe,

Thanks for the review, I will address issues later.  Just quick comments :

1) I will fix that. I prefer this indentation to the other since it distinct 
the fun from other level. But will comply with common style, np :)

2) I thought opening the ddoc each time was enough to handle the ddoc changes. 
Isn't raising an exception enough to stop the feed? But of course checking if 
the ddoc has changed may be better at this point. I will have a look. Also 
errors should be probably catched.

3) In fact I'm eagerly waiting for an event hub in couch. Where you can publish 
any event and subscribe too it.  I started to use couch_event from @davisp but 
stopped at some point since I wasn't sure it was the correct solution. To 
minimize the code base, I just reuse the current event handler. I've no strong 
opinion on it. Do you think it's really needed?

4) Manual replications tests worked. The `_view` filter is already tested. I 
will add tests to address cases where you already have doc, when ddoc disapear 
& such.

Again thanks for the review.
                
> improve view filtering in changes
> ---------------------------------
>
>                 Key: COUCHDB-1398
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1398
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: View Server Support
>    Affects Versions: 2.0, 1.3
>            Reporter: Benoit Chesneau
>              Labels: changes, view
>         Attachments: 0001-white-spaces.patch, 
> 0002-initial-step-move-the-code-from-couch_httpd_db-to-co.patch, 
> 0003-fix-indent.patch, 
> 0004-This-wrapper-is-useless-somehow-split-the-code-in-a-.patch, 
> 0005-add-view_updated-event.patch, 0006-immprove-view-filter.patch, 
> 0007-useless-info.patch, 0008-whitespaces.patch, 
> 0009-handle-native-filters-in-views.patch
>
>
> Improve the native view filter `_view` support by really using view index. 
> This patches add following features
> - small refactoring: create the couch_httpd_changes modules, to put all the 
> changes http support in its own module instead having it in couch_httpd_db. 
> - add the `view_updated` event when a view index is updated : {view_updated, 
> {DbName, IndexName}}
> - start the feed using results in the view index instead of all the db index
> - only react on view index changes.
> For now next changes are still get using the couch_db:changes_since function 
> and passing the map function to the results. It could be improved if we had a 
> by_seq btree in the view index too. Other way may be to skip a number of the 
> documents already processed. Not sure it would be faster. Thoughts ?
> The branch couch_view_changes  in my repo contains preliminary support:
> https://github.com/benoitc/couchdb/tree/couch_view_changes
> Diff:
> https://github.com/benoitc/couchdb/compare/master...couch_view_changes
> To use it, use the native filter named _view which take the parameter 
> view=DesignName/Viewname
> eg:
>   
> http://server/db/_changes?feed=continuous&heartbeat=true&filter=_view&view=DesignName/SomeView
> It has also an interresting side effect: on each db updates the view index 
> refresh is triggered so view updates are triggered. Maybe we could introduce 
> an optionnal parameter to not trigger them though?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to