I'm having a trouble using count()... If I try to do (with DBI_TRACE):

--------
my $versione_nota = $dbic->resultset('VersioneNotaLt')->search({
        ser_num => $ser_num,
        mdsrel_id_req => $mdsrel_id_req})->count();

     <- prepare_cached('SELECT COUNT( * ) FROM versione_nota_lt me WHERE 
( mdsrel_id_req = ?
AND ser_num = ? )' HASH(0x9ed224c) ...)= DBI::st=HASH(0x9e935fc) at 
DBI.pm line 839
     <- execute(1 '2')= 1 at DBI.pm line 743
     <- fetchrow_array= ( '1' ) [1 items] row1 at Cursor.pm line 86
     <- FETCH('Active')= 1 at Cursor.pm line 163
     <- finish= 1 at Cursor.pm line 163
--------


it returns 1 even if there are NO RECORDS matching! If I instead do:

--------
my @versione_nota_set = $dbic->resultset('VersioneNotaLt')->search({
         ser_num => $ser_num, mdsrel_id_req => $mdsrel_id_req});
my $versione_nota = $#versione_nota_set;

     <- prepare_cached('SELECT me.ser_num, me.mdsrel_id_req FROM 
versione_nota_lt me WHERE ( mdsrel_id_req = ? AND ser_num = ? )' 
HASH(0x9eb7ae0) ...)= DBI::st=HASH(0x9e935e8) at DBI.pm line 839
     <- execute(1 '2')= 1 at DBI.pm line 743
     <- fetchall_arrayref= [ ARRAY(0x9eb7ae0) ] row1 at Cursor.pm line 119
--------

(which is, of course, a bad way since I only need the count!), results 
are correct...

The SQL generated is fine in both cases, IMHO. Running the statement as 
sql gives good results...

DBIx::Class was as of today CPAN release, database is postgres-8.1.3, 
I'm running under catalyst...

VersioneNotaLt works from a view and the schema is trivial:

--------
package DLService::Schema::DLService::VersioneNotaLt;
use strict;
use warnings;

use base 'DBIx::Class';

__PACKAGE__->load_components("PK::Auto", "Core");
__PACKAGE__->table('versione_nota_lt');
__PACKAGE__->add_columns(qw{ ser_num mdsrel_id_req });

1;
--------

Any suggestion? I'm doing something wrong, there is a bug somewhere or I 
have to live with the workaround?

This problem apart it's a great package!


_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to