X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FAmbiguousGlob.pm;h=37d1bd6e737f051944a8889a753fc07156d07f96;hb=574d7df6e52ed1bdb9278acfd0960910929c6078;hp=568e6ac2c154b89a7e569e3509ca646dfb2ccc72;hpb=efe2cc834f54d9165b608a6ef9cc958fb52e1714;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/AmbiguousGlob.pm b/lib/DBIx/Class/Storage/DBI/AmbiguousGlob.pm index 568e6ac..37d1bd6 100644 --- a/lib/DBIx/Class/Storage/DBI/AmbiguousGlob.pm +++ b/lib/DBIx/Class/Storage/DBI/AmbiguousGlob.pm @@ -4,6 +4,7 @@ use strict; use warnings; use base 'DBIx::Class::Storage::DBI'; +use mro 'c3'; =head1 NAME @@ -20,14 +21,14 @@ the time it gets to the *). Thus for any subquery count we select only the primary keys of the main table in the inner query. This hopefully still hits the indexes and keeps the server happy. -At this point the only overriden method is C<_grouped_count_select()> +At this point the only overriden method is C<_subq_count_select()> =cut -sub _grouped_count_select { - my ($self, $source, $rs_args) = @_; - my @pcols = map { join '.', $rs_args->{alias}, $_ } ($source->primary_columns); - return @pcols ? \@pcols : $rs_args->{group_by}; +sub _subq_count_select { + my ($self, $source, $rs_attrs) = @_; + my @pcols = map { join '.', $rs_attrs->{alias}, $_ } ($source->primary_columns); + return @pcols ? \@pcols : [ 1 ]; } =head1 AUTHORS