[ https://issues.apache.org/jira/browse/COUCHDB-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benoit Chesneau updated COUCHDB-1398: ------------------------------------- Attachment: 0009-handle-native-filters-in-views.patch 0008-whitespaces.patch handle native filters in replication. Native filters wasn't handled by the replication. Fix it. While I'm here parse the view argument for the _view filter. Note: this fix must be ported to 1.2 & last head. > 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