Mailinglist Archive: zypp-devel (227 mails)

< Previous Next >
[zypp-devel] PoolQuery
  • From: Jan Kupec <jkupec@xxxxxxx>
  • Date: Mon, 07 Apr 2008 11:13:12 +0200
  • Message-id: <47F9E5A8.70003@xxxxxxx>
Hi,

i committed a version of PoolQuery that currently supports basic queries
like:

PoolQuery q;
q.addString("zypper");
q.addAttribute(sat::SolvAttr::name);
for_each(q.begin(), q.end(), do_something_wih_solvables);

see PoolQuery_test testsuite for more examples

The query string can be set globally with addString(string) and
per-attribute with addAttribute(attr, string). If you use
addAttribute(attr) without the query string, you are supposed to use at
least one addString() to add a global query string (otherwise you did
not set any condition for the attribute).

To sum it up:

Curretnly supported and tested:

* zero or one search string for each attribute
* zero, one or multiple attributes (== condition only)
A solvable matches if ANY of the attributes matches
do we also want ALL condition?
* ALL or one repository
* case-(in)sensitive search, exact value search (need test cases
for these)

Not tested/planned (starting with the highest priority):

* drop non-matching kinds (or move this to the sat solver) (easy)
* support regexes (incl. wildcards)
* add addAttribute(SolvAttr, string, Rel)
to enable >,<,>=,<= conditions. (probably harder)
* enable addDep() (shouldn't be hard)
* multiple search strings (will use regex to comine them).
* different values for different attributes
* multiple repositories
* enable setMatchWord() (should be easy once regexes are working)
----
* somewhere in between - beautify & optimize & make the code politically
correct
* one special high-priority task: an adapter to PoolQuery which would
return Selectables (ui::SelectablePoolQuery perhaps).

Help with advices/patches appreciated.

Cheers,

jano
--
To unsubscribe, e-mail: zypp-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-devel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups