[Dbix-class] Re: Can't modify prefetch

Ryan Tate ryantate at ryantate.com
Sat Nov 27 00:39:37 GMT 2010


Nevermind, I stupidly forgot to assign the modified resultset :-) I'll
pull the RT bug too.....

On Fri, Nov 26, 2010 at 4:24 PM, Ryan Tate <ryantate at ryantate.com> wrote:
> It appears if you specify prefetch twice on the same resultset, only
> the first one sticks. E.g.:
>
> my $rs = $schema->resultset('Artist')->search( {},
>                                              {prefetch => ['cds'],}
>                                             );
> $rs->search({},
>            {prefetch => ['stalkers'],}
>           );
>
> According to the docs, prefetches are supposed to be merged in this
> scenario <http://search.cpan.org/~frew/DBIx-Class-
> 0.08124/lib/DBIx/Class/ResultSet.pm#Resolving_conditions_and_attributes>
>
> If you monitor the SQL that gets executed, the first prefetch ("cds")
> sticks but the second prefetch ("stalkers") doesn't get executed, and
> DBIx::Class will go to the database every time you call it on the
> fetched items ($artist->stalkers->first).
>
> There's a failing test case here
> http://ryantate.com/transfer/dbixc_prefetch.t.txt
>
> And I added an RT entry here
> https://rt.cpan.org/Public/Bug/Display.html?id=63360
>



More information about the DBIx-Class mailing list