<Michiel Meeuwissen:>
>
> Query project is usable front-end now (mmci / taglib). After
> making a 'bridge' version I have some questions about the
> core version. E.g.:
>
> - the 'NodeQuery' of bridge is more generic than the
> NodeSearchQuery of core, and
> I wonder if the core version should not be an interface.
Not sure I understand this...
Why should NodeSearchQuery be an interface?
> - I am not quite confident yet about 'aggregating queries'.
> Aggregation is now a field of
> SearchQuery, and forbid mixing of 'normal' and 'aggregated' fields.
No, this is not the case. The aggregation type AGGREGATION_TYPE_GROUP_BY
corresponds to your 'normal' fields. This reflects the fact that in an
SQL query aggregation of some fields always implies grouping the
remaining fields. Take for example this query:
SELECT article, MAX(price) AS price
FROM shop
GROUP BY article
In order to use the aggregating function MAX() on the field price, it's
required to use GROUP BY on the remaining field(s), i.e. article. This
requirement is reflected by the available aggregation-types in
aggregating queries.
> - Also there is no way to access database functions.
This is only partly true. The basic queryhandler does not support these
ase these are highly database-specific. (With the exception of
LOWER/UPPER, which is used behind the scenes to enable case-insensitive
string comparison.) For this reason database functions are used nowhere
in the MMBase core at present.
The only sensible use of database functions I can think of is in
constraints, where this improves query performance.
This is precisely what the SearchQuery extension mechanism is designed
to do. New constraint types can be introduced and the database specific
sql-handlers can be extended to handle these when possible. But almost
always at the cost of losing database-portability.
> - It's not yet quite clear to me how I would add extra features like a
> 'regexp' operator, or full-text-search (mysql,postgresql). I suppose
> full-text-search is similar to the already present 'vts'
> for informix, for
> which I do not know yet how to voke it through the bridge.
>
> So before relasing 1.7 I think somehow I'd like clarity about
> this. Perhaps a last meeting.
Good point. I'll see if this can be arranged sometime soon.
Rob van Maris
Technical Consultant
Quantiq
xmedia & communication solutions
Koninginneweg 11-13
1217 KP Hilversum
T +31 (0)356257211
M +31 (0)642258660
E [EMAIL PROTECTED]