It'd be worth adding support for not only count but avg, max, min,
sum operations on keys... like: [EMAIL PROTECTED]
Sure, but my point was that query should not run itself. Hence the
separation between the query and its execution logic.
Maybe the class I posted beforehand could be easily morphed into
such a query helper(?).
Yes - in defining CountQuery, MaxQuery, etc. it seems like what we need.
I think the query needs to return 1 object in the list of results
which is a Number rather than returning a Map where there's an
element with key 'C' (which is fine for sql template operations but
I'd have thought the point of a stats helper would be to abstract
that kind of stuff.
I was thinking that DataObjectUtils.intValueForQuery proposed below
would do the unwrapping of the map into a scalar value. It can do it
in a generic fashion as long as there's only one key in the returned
map.
Andrus
On Jun 4, 2007, at 10:30 AM, Lachlan Deck wrote:
Hi there,
On 04/06/2007, at 5:05 PM, Andrus Adamchik wrote:
We do have utility classes already, like DataObjectUtils (which are
mainly containers for static methods -- aka functions). This
would be
a "real" class (or extension of an existing class), though.
I am with Matt on the point that any new utility should preferably
stay within the well understood framework concepts. A query that
runs itself is definitely NOT something Cayenne has ever done. I
think we can squeeze it in the current framework, tweaking what
has been already proposed - a CountQuery, by adding a new method
to DataObjectUtils: intValueForQuery (analogous to existing
"objectForQuery"). So one can do:
Query q = new CountQuery(Artist.class, qualfier);
int count = DataObjectUtils.intValueForQuery(context, q);
It'd be worth adding support for not only count but avg, max, min,
sum operations on keys... like: [EMAIL PROTECTED]
Maybe the class I posted beforehand could be easily morphed into
such a query helper(?).
I think the query needs to return 1 object in the list of results
which is a Number rather than returning a Map where there's an
element with key 'C' (which is fine for sql template operations but
I'd have thought the point of a stats helper would be to abstract
that kind of stuff.
with regards,
--
Lachlan Deck