Thanks Stuart, this worked for me too. On Mon, Jul 13, 2009 at 11:32 AM, Stuart Dodds<[email protected]> wrote: > I had the exact same problem today.....the only way I could fix it was > to remove the prefetch from the search. > > > -----Original Message----- > From: Paul Makepeace <[email protected]> > Reply-to: "DBIx::Class user and developer list" > <[email protected]> > To: DBIx::Class user and developer list <[email protected]> > Subject: [Dbix-class] SQL::Abstract regression? > Date: Mon, 13 Jul 2009 10:52:24 -0500 > > I have, > > __PACKAGE__->has_many(publication_story => 'IDL::Schema::Story', > 'publication_uid'); > __PACKAGE__->belongs_to(publication_type => 'IDL::Schema::CodeTree', > 'publication_type_uid', { join_type => 'left'}); > > my @SEARCH_WITH_STORY_COUNT_ARGS = ( > join => [qw/publication_story/], > select => [{ count => 'publication_story.uid' }, qw/me.uid me.name > me.short_name > me.url me.description me.publication_type_uid me.region_uid > me.channel_type_uid > me.circulation me.ave1 me.ave2 me.comments/,], > as => [qw/story_count uid name short_name url description > publication_type_uid > region_uid channel_type_uid circulation ave1 ave2 comments/], > group_by => [qw/me.uid/], > prefetch => [qw/publication_type region/], > ); > > and this is generating this wrong-looking SQL, > > DBIx::Class::ResultSet::search(): DBI Exception: DBD::mysql::st > execute failed: Unknown column 'publication_story.uid' in 'field list' > [for Statement "SELECT me.story_count, me.uid, me.name, me.short_name, > me.url, me.description, me.publication_type_uid, me.region_uid, > me.channel_type_uid, me.circulation, me.ave1, me.ave2, me.comments, > publication_type.uid, publication_type.parent_uid, > publication_type.value, publication_type.hide, publication_type.alias, > publication_type.order_priority, publication_type.show_in_lists, > publication_type.data_type, publication_type.cascade_data_type, > publication_type.description, region.uid, region.parent_uid, > region.value, region.hide, region.alias, region.order_priority, > region.show_in_lists, region.data_type, region.cascade_data_type, > region.description FROM (SELECT COUNT( publication_story.uid ) AS > story_count, me.uid, me.name, me.short_name, me.url, me.description, > me.publication_type_uid, me.region_uid, me.channel_type_uid, > me.circulation, me.ave1, me.ave2, me.comments FROM publication me > WHERE ( ( name LIKE ? OR short_name LIKE ? ) ) GROUP BY me.uid ORDER > BY name) me LEFT JOIN story publication_story ON > publication_story.publication_uid = me.uid LEFT JOIN code_tree > publication_type ON publication_type.uid = me.publication_type_uid > LEFT JOIN code_tree region ON region.uid = me.region_uid WHERE ( ( > name LIKE ? OR short_name LIKE ? ) ) ORDER BY name" > > specifically, FROM (SELECT COUNT( publication_story.uid ) AS > story_count, ... looks wrong. Or should I update my code somehow? > > This error coincides with upgrading to latest DBIx::Class today. > > Paul > > _______________________________________________ > List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class > IRC: irc.perl.org#dbix-class > SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ > Searchable Archive: http://www.grokbase.com/group/[email protected] > > > _______________________________________________ > List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class > IRC: irc.perl.org#dbix-class > SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ > Searchable Archive: http://www.grokbase.com/group/[email protected] >
_______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/[email protected]
