|Re: [p2-dev] iterators, queries, and collectors....oh my!!|
Ian Bull wrote:
I think there are two scenarios:
1. I know what I want before the query is issued. In this case its beneficial to do the filtering on the server side. Include the filter in the query so that it is possible for the query implementer to transform the filter and include it in a database query.
2. You discover, as you look at the results in a UI, that you should have added a filter. In that case it will be beneficial if the UI has some filtering capabilities that can be applied on the query result. This is similar to client side sorting, i.e. you click on a column to get the result sorted ascending/descending by that column. Issuing a new query just to get a new sort order would probably be slow.
In essence I think it all boils down to that the more descriptive the query can be, the better. Simple filtering on properties and such can easily be translated into SQL expressions in a database query and the database will often do a far better job then just applying such filters sequentially on everything that it finds.