I am building up a result set and am see difference between the actual selection of the objects from the database and counting of those same objects. The query has a prefetch, groupby, having and a limit clause. What I am seeing is that when I request the objects from the database the query is working just fine, but when I am doing a count, the having clause is dropped from the count query. In the source of resultset I see that the having attribute is deleted from time to time and then processed differently. Is there something that I can do to ensure that the having clause is used in the count? Thanks.

Les


The code is structured like this:

sub get_rs {
   # returns a result set
   ...->search(
         {
            ...
         },
         {
            order_by => ...
            having => ...
            prefetch => ...
            order_by => ...
         }
   );
}

sub get_records {
   &get_rs->search(
       undef,
       {
          page => 1,
          rows => 10
       }
   )->all;
}

sub get_count {
   &get_rs->count;
}

_______________________________________________
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