On Sun, Oct 17, 2010 at 6:20 PM, Jan Lehnardt <[email protected]> wrote: > Hi Benoit, all, > > I'm not too happy with how this turned out. > > There's multiple things this patch is trying to solve and by thinking about > them separately, I think we can come up with a cleaner, more future-proof > design. I'd like to avoid special casing for situations we think are common > but turn out not to be. > > 1. Built-in filters. Much like built in reduce functions, the _doc_Ids filter > could be built-in. This would allow us to add more built-in filter functions > in the future when we discover patterns there.
Exactly. Like we have the "special " reduce functions "_sum" and "_count" for views for e.g. > > 2. POST-ing arguments to _changes. This is needed because there are practical > limits on the URL length so we can't send a large number of URL parameters. > This is the same reason we have POST to views. > > Together, 1. & 2. can solve what you need and they also help us keep the > improvements Filipe said could be roll into the replicator while at the same > time we don't code ourselves into a corner for future additions. Instead of a doc_ids parameter to changes, I was thinking that to achieve the same goal, we could still use the "filter" parameter that would have a different value for very common cases, starting with an "_" just like for the special reduce cases. (the list of doc IDs would then be a regular parameter to the builtin Erlang filter function) > > What do you think? Totally +1 > > Cheers > Jan > -- > > > On 13 Oct 2010, at 17:24, Benoit Chesneau <[email protected]> wrote: > >> Hi all, >> >> For a project I have to know each time a design doc change and for now >> I have to create a filter function for each databases created to do >> that. I think getting changes on specific docids is a common behavior >> (see replication for example) so I thought to add the possibility to >> filters changes on docids if a list of documents is passed in the >> request. >> >> ex: >> >> POST /db/_changes >> {"docids": ["id1", ..]} >> >> >> Here is the patch that allows that feature : >> http://github.com/benoitc/couchdb/commit/fd7829b6b3093ab324a2b5c496600cc6335480b8 >> >> What do you think about it ? >> >> - benoit > -- Filipe David Manana, [email protected], [email protected] "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men."
