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
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 > |