From: David Kamholz Date: Wed, 8 Mar 2006 17:28:27 +0000 (+0000) Subject: add test for last fix X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=27c855b871e7b52a3607f5c139ecdb3869fd8d0d;p=dbsrgits%2FDBIx-Class-Historic.git add test for last fix --- diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index 1af7e87..120aedc 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -426,9 +426,7 @@ sub _construct_object { my ($self, @row) = @_; my @as = @{ $self->{attrs}{as} }; - warn "collapsing"; my $info = $self->_collapse_result(\@as, \@row); - warn "done collapsing"; my $new = $self->result_class->inflate_result($self->result_source, @$info); diff --git a/t/run/23cache.tl b/t/run/23cache.tl index e654c61..77860b6 100644 --- a/t/run/23cache.tl +++ b/t/run/23cache.tl @@ -3,7 +3,7 @@ my $schema = shift; eval "use DBD::SQLite"; plan skip_all => 'needs DBD::SQLite for testing' if $@; -plan tests => 12; +plan tests => 13; my $rs = $schema->resultset("Artist")->search( { artistid => 1 } @@ -13,6 +13,26 @@ my $artist = $rs->first; is( scalar @{ $rs->get_cache }, 0, 'cache is not populated without cache attribute' ); +# start test for prefetch SELECT count +unlink 't/var/dbic.trace' if -e 't/var/dbic.trace'; +DBI->trace(1, 't/var/dbic.trace'); + +$artist = $schema->resultset('Artist')->find(1, { prefetch => [qw/cds/] }); + +# count the SELECTs +DBI->trace(0, undef); +$selects = 0; +$trace = IO::File->new('t/var/dbic.trace', '<') + or die "Unable to read trace file"; +while (<$trace>) { + $selects++ if /SELECT/; +} +$trace->close; +unlink 't/var/dbic.trace'; + +is( $selects, 1, 'only one select statement on find with has_many prefetch' ); + + $rs = $schema->resultset("Artist")->search( { 'artistid' => 1 }, {