From: Jess Robinson Date: Thu, 24 Jul 2008 06:42:34 +0000 (+0000) Subject: Added 98rows_prefetch.t from Christopher Davaz, todo test for prefetch with rows X-Git-Tag: v0.08240~393 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a04af85f2cb05f73dc56173f5be01aeca6f8a015;p=dbsrgits%2FDBIx-Class.git Added 98rows_prefetch.t from Christopher Davaz, todo test for prefetch with rows --- diff --git a/t/98rows_prefetch.t b/t/98rows_prefetch.t new file mode 100644 index 0000000..8619c13 --- /dev/null +++ b/t/98rows_prefetch.t @@ -0,0 +1,42 @@ +# Test to ensure we get a consistent result set wether or not we use the +# prefetch option in combination rows (LIMIT). +use strict; +use warnings; + +use Test::More; +use lib qw(t/lib); +use DBICTest; + +plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 2); + +my $schema = DBICTest->init_schema(); +my $no_prefetch = $schema->resultset('Artist')->search( + undef, + { rows => 3 } +); + +my $use_prefetch = $schema->resultset('Artist')->search( + undef, + { + prefetch => 'cds', + rows => 3 + } +); + +my $no_prefetch_count = 0; +my $use_prefetch_count = 0; + +is($no_prefetch->count, $use_prefetch->count, '$no_prefetch->count == $use_prefetch->count'); + +TODO: { + local $TODO = "This is a difficult bug to fix, workaround is not to use prefetch with rows"; + $no_prefetch_count++ while $no_prefetch->next; + $use_prefetch_count++ while $use_prefetch->next; + is( + $no_prefetch_count, + $use_prefetch_count, + "manual row count confirms consistency" + . " (\$no_prefetch_count == $no_prefetch_count, " + . " \$use_prefetch_count == $use_prefetch_count)" + ); +}