use base 'DBIx::Class';
use DBIx::Class::Carp;
-use DBIx::Class::_Util 'fail_on_internal_wantarray';
+use DBIx::Class::_Util qw( fail_on_internal_wantarray fail_on_internal_call );
use namespace::clean;
-# not importing first() as it will clash with our own method
-use List::Util ();
-
=head1 NAME
DBIx::Class::ResultSetColumn - helpful methods for messing
# (to create a new column definition on-the-fly).
my $as_list = $orig_attrs->{as} || [];
my $select_list = $orig_attrs->{select} || [];
- my $as_index = List::Util::first { ($as_list->[$_] || "") eq $column } 0..$#$as_list;
+ my ($as_index) = grep { ($as_list->[$_] || "") eq $column } 0..$#$as_list;
my $select = defined $as_index ? $select_list->[$as_index] : $column;
my $colmap;
my $self = shift;
my $attrs = $self->_resultset->_resolved_attrs;
- my ($row) = $self->_resultset->result_source->storage->select_single(
+ my ($row) = $self->_resultset->result_source->schema->storage->select_single(
$attrs->{from}, $attrs->{select}, $attrs->{where}, $attrs
);
=cut
sub min {
- return shift->func('MIN');
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func('MIN');
}
=head2 min_rs
=cut
-sub min_rs { return shift->func_rs('MIN') }
+sub min_rs {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func_rs('MIN')
+}
=head2 max
=cut
sub max {
- return shift->func('MAX');
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func('MAX');
}
=head2 max_rs
=cut
-sub max_rs { return shift->func_rs('MAX') }
+sub max_rs {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func_rs('MAX')
+}
=head2 sum
=cut
sub sum {
- return shift->func('SUM');
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func('SUM');
}
=head2 sum_rs
=cut
-sub sum_rs { return shift->func_rs('SUM') }
+sub sum_rs {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ $_[0]->func_rs('SUM')
+}
=head2 func
my $cursor = $self->func_rs($function)->cursor;
if( wantarray ) {
- DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_WANTARRAY and my $sog = fail_on_internal_wantarray($self);
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_WANTARRAY and my $sog = fail_on_internal_wantarray;
return map { $_->[ 0 ] } $cursor->all;
}
# collapse the selector to a literal so that it survives the distinct parse
# if it turns out to be an aggregate - at least the user will get a proper exception
# instead of silent drop of the group_by altogether
- $select = \[ $rsrc->storage->sql_maker->_recurse_fields($select) ];
+ $select = \[ $rsrc->schema->storage->sql_maker->_recurse_fields($select) ];
}
}
};
}
-1;
+=head1 FURTHER QUESTIONS?
-=head1 AUTHOR AND CONTRIBUTORS
+Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>.
-See L<AUTHOR|DBIx::Class/AUTHOR> and L<CONTRIBUTORS|DBIx::Class/CONTRIBUTORS> in DBIx::Class
+=head1 COPYRIGHT AND LICENSE
-=head1 LICENSE
-
-You may distribute this code under the same terms as Perl itself.
+This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE>
+by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can
+redistribute it and/or modify it under the same terms as the
+L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>.
=cut
+
+1;
+