X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FIterator.pm;h=80e788ce1b8f910f6dd0ab48fd6ab6a6944f1e09;hb=6412a5927691e6b8e3370edeb06ed3ef79c757b3;hp=d50dd328ce48dcc508fe61ab2e029da4cbe4f386;hpb=c0494fe173384e4fdde1f165f0670aeb5dc084a8;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/Iterator.pm b/lib/DBIx/Class/CDBICompat/Iterator.pm index d50dd32..80e788c 100644 --- a/lib/DBIx/Class/CDBICompat/Iterator.pm +++ b/lib/DBIx/Class/CDBICompat/Iterator.pm @@ -3,6 +3,26 @@ package DBIx::Class::CDBICompat::Iterator; use strict; use warnings; + +=head1 NAME + +DBIx::Class::CDBICompat::Iterator - Emulates the extra behaviors of the Class::DBI search iterator. + +=head1 SYNOPSIS + +See DBIx::Class::CDBICompat for directions for use. + +=head1 DESCRIPTION + +Emulates the extra behaviors of the Class::DBI search iterator. + +=head2 Differences from DBIx::Class result set + +The CDBI iterator returns true if there were any results, false otherwise. The DBIC result set always returns true. + +=cut + + sub _init_result_source_instance { my $class = shift; @@ -22,7 +42,11 @@ use warnings; use base qw(DBIx::Class::ResultSet); sub _bool { - return $_[0]->count; + # Performance hack so internal checks whether the result set + # exists won't do a SQL COUNT. + return 1 if caller =~ /^DBIx::Class::/; + + return $_[0]->count; } 1;