Ticket #559 (closed discussion: fixed)
Filters
| Reported by: | ciaranm | Owned by: | ciaranm |
|---|---|---|---|
| Priority: | Sometime | Milestone: | Misc features |
| Component: | core/paludis | Version: | scm |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Distribution: | Gentoo |
Description
Filters can improve the performance of Query and replace qo_order_by_version etc. Instead of doing Query(...) & Query(...) & Query(...), one would do Query(...) & Query(...) | Filter(...) | Filter(...).
Filters would operate on an existing Query result set and remove or reorder results, rather than operating on an Environment and then being intersectioned with other queries.
Typical example: query::Matches(blah) & query::NotMasked(), qo_best_version_only requires metadata for every ID that matches. But if we do query::Matches(blah) | filter::BestVersionOnly() | filter::ExcludeMasked() it only needs metadata for the selected ID.
