[CDBI] Aggregate functions in Sweet?

Michael Peters mpeters at plusthree.com
Mon Sep 19 15:09:11 BST 2005

Bill Moseley wrote:
> I've become dependent (read lazy) on CDBI::Sweet.  But, now I need to
> use an aggregate function.

I don't know specifically about ::Sweet, but CDBI has always been about
mapping an object to a specific row. When using aggregate functions
there is no corresponding row in the result set.

> For example, I have a table "class" which is a class taught at some
> "location", and locations have_a "region" like "North" or "South".
>     my $region = $class->location->region;
>     print $region->name;
> So, now I want to have a list of regions, and show how many classes
> are available in each region.  A reasonable need.

Completely reasonable, but not CDBI is not the right tool for that kind
of job. Any kind of reporting or aggregation is best done with straight
SQL/DBI. I sometimes like to include this methods in my data classes
that are CDBI based, but you might want to separate them.

Michael Peters
Plus Three, LP

More information about the ClassDBI mailing list