X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F83cache.t;h=2f4c0364b809bf2678a09aa113597319fcb27ca0;hb=64ae166780d0cb2b9577e506da9b9b240c146d20;hp=f220a35e1774325965421217af9b21b1d34065b3;hpb=a2287768f5c3dd665c469d7f9dfe99d369ff6781;p=dbsrgits%2FDBIx-Class.git diff --git a/t/83cache.t b/t/83cache.t index f220a35..2f4c036 100644 --- a/t/83cache.t +++ b/t/83cache.t @@ -8,7 +8,7 @@ use DBICTest; my $schema = DBICTest->init_schema(); my $queries; -$schema->storage->debugcb( sub{ $queries++ } ); +my $debugcb = sub{ $queries++ }; my $sdebug = $schema->storage->debug; plan tests => 23; @@ -45,6 +45,7 @@ $rs->clear_cache; $queries = 0; $schema->storage->debug(1); +$schema->storage->debugcb ($debugcb); $rs = $schema->resultset('Artist')->search( undef, { cache => 1 } ); while( $artist = $rs->next ) {} @@ -53,6 +54,7 @@ $artist = $rs->first(); is( $queries, 1, 'revisiting a row does not issue a query when cache => 1' ); $schema->storage->debug($sdebug); +$schema->storage->debugcb (undef); my @a = $schema->resultset("Artist")->search( { }, @@ -72,11 +74,10 @@ $rs = $schema->resultset("Artist")->search( } ); -use Data::Dumper; $Data::Dumper::Deparse = 1; - # start test for prefetch SELECT count $queries = 0; $schema->storage->debug(1); +$schema->storage->debugcb ($debugcb); $artist = $rs->first; $rs->reset(); @@ -99,6 +100,7 @@ is( $artist->count_related('cds'), 3, 'artist->count_related returns correct val is($queries, 1, 'only one SQL statement executed'); $schema->storage->debug($sdebug); +$schema->storage->debugcb (undef); # make sure related_resultset is deleted after object is updated $artist->set_column('name', 'New Name'); @@ -130,18 +132,21 @@ is($artist->cds, 0, 'No cds for this artist'); # SELECT count for nested has_many prefetch $queries = 0; $schema->storage->debug(1); +$schema->storage->debugcb ($debugcb); $artist = ($rs->all)[0]; is($queries, 1, 'only one SQL statement executed'); $schema->storage->debug($sdebug); +$schema->storage->debugcb (undef); my @objs; #$artist = $rs->find(1); $queries = 0; $schema->storage->debug(1); +$schema->storage->debugcb ($debugcb); my $cds = $artist->cds; my $tags = $cds->next->tags; @@ -185,4 +190,4 @@ $artist = $rs->find(1); is( $queries, 1, 'only one select statement on find with has_many prefetch on resultset' ); $schema->storage->debug($sdebug); - +$schema->storage->debugcb (undef);