X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fprefetch%2Fgrouped.t;h=0f6f59a293b194fcfb4aa11ff857a127093f0aa3;hb=30681c23187d5f13d57eda0c97dda1be5fb291d1;hp=c9a91c411b1807c6867bbf11c8e37094b3fc2a4a;hpb=49eeb48de3d8ff685926b595fa0f3f5e680eaee2;p=dbsrgits%2FDBIx-Class.git diff --git a/t/prefetch/grouped.t b/t/prefetch/grouped.t index c9a91c4..0f6f59a 100644 --- a/t/prefetch/grouped.t +++ b/t/prefetch/grouped.t @@ -4,8 +4,7 @@ use warnings; use Test::More; use lib qw(t/lib); -use DBICTest; -use DBIC::SqlMakerTest; +use DBICTest ':DiffSQL'; use DBIx::Class::SQLMaker::LimitDialects; my $ROWS = DBIx::Class::SQLMaker::LimitDialects->__rows_bindtype; @@ -24,10 +23,12 @@ for ($cd_rs->all) { is ($_->tracks->count, 3, '3 tracks for CD' . $_->id ); } +my @cdids = sort $cd_rs->get_column ('cdid')->all; + # Test a belongs_to prefetch of a has_many { my $track_rs = $schema->resultset ('Track')->search ( - { 'me.cd' => { -in => [ $cd_rs->get_column ('cdid')->all ] } }, + { 'me.cd' => { -in => \@cdids } }, { select => [ 'me.cd', @@ -73,7 +74,7 @@ for ($cd_rs->all) { me )', [ map { [ { sqlt_datatype => 'integer', dbic_colname => 'me.cd' } - => $_ ] } ($cd_rs->get_column ('cdid')->all) ], + => $_ ] } @cdids ], 'count() query generated expected SQL', ); @@ -92,7 +93,7 @@ for ($cd_rs->all) { WHERE ( me.cd IN ( ?, ?, ?, ?, ? ) ) )', [ map { [ { sqlt_datatype => 'integer', dbic_colname => 'me.cd' } - => $_ ] } ( ($cd_rs->get_column ('cdid')->all) x 2 ) ], + => $_ ] } (@cdids) x 2 ], 'next() query generated expected SQL', ); @@ -284,7 +285,7 @@ for ($cd_rs->all) { # RT 47779, test group_by as a scalar ref { my $track_rs = $schema->resultset ('Track')->search ( - { 'me.cd' => { -in => [ $cd_rs->get_column ('cdid')->all ] } }, + { 'me.cd' => { -in => \@cdids } }, { select => [ 'me.cd', @@ -313,7 +314,7 @@ for ($cd_rs->all) { me )', [ map { [ { sqlt_datatype => 'integer', dbic_colname => 'me.cd' } - => $_ ] } ($cd_rs->get_column ('cdid')->all) ], + => $_ ] } (@cdids) ], 'count() query generated expected SQL', ); }