[Dbix-class] Code Review - Duplicated columns with 'having'
André Walker
andre at andrewalker.net
Wed Feb 13 16:42:24 GMT 2013
Hello,
I have run into a bug when using an aggregate function and setting two or more
possible values to the same column in the 'having' clause.
Example:
my $rs = $schema->resultset("Artist")->search(
{},
{
join => 'cds',
group_by => 'me.artistid',
'+select' => [ { max => 'cds.year', -as => 'newest_cd_year' } ],
'+as' => ['newest_cd_year'],
having => { 'newest_cd_year' => [ '1998', '2001' ] }
}
);
As the 'newest_cd_year' has two possible values (1998 and 2001), count() will
add "MAX(cds.year) AS newest_cd_year" twice to the 'select' attribute. This
happens only with count(). $rs->all, for example, would generate the query
correctly.
I have submitted a patch in the branch 'topic/duplicate_columns_having_count'.
Would somebody review the code and merge it to master, please?
Thank you,
André
More information about the DBIx-Class
mailing list