=cut
-sub search {
+sub search :DBIC_method_is_indirect_sugar {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+
my $rs = shift->search_rs( @_ );
return $rs->all
}
# Run the query, passing the result_class since it should propagate for find
- my $rs = $self->search ($final_cond, {result_class => $self->result_class, %$attrs});
+ my $rs = $self->search_rs( $final_cond, {result_class => $self->result_class, %$attrs} );
if ($rs->_resolved_attrs->{collapse}) {
my $row = $rs->next;
carp "Query returned more than one row" if $rs->next;
sub count {
my $self = shift;
- return $self->search(@_)->count if @_ and defined $_[0];
+ return $self->search_rs(@_)->count if @_ and defined $_[0];
return scalar @{ $self->get_cache } if $self->get_cache;
my $attrs = { %{ $self->_resolved_attrs } };
sub count_rs {
my $self = shift;
- return $self->search(@_)->count_rs if @_;
+ return $self->search_rs(@_)->count_rs if @_;
# this may look like a lack of abstraction (count() does about the same)
# but in fact an _rs *must* use a subquery for the limits, as the
return $rsrc->resultset_class
->new ($rsrc, $sub_attrs)
->as_subselect_rs
- ->search ({}, { columns => { count => $rsrc->schema->storage->_count_select ($rsrc, $attrs) } })
+ ->search_rs ({}, { columns => { count => $rsrc->schema->storage->_count_select ($rsrc, $attrs) } })
->get_column ('count');
}
}
}
- $subrs = $subrs->search({}, { group_by => $attrs->{columns} });
+ $subrs = $subrs->search_rs({}, { group_by => $attrs->{columns} });
}
$guard = $storage->txn_scope_guard;
}
- $colinfo->{$rel}{rs}->search({ map # only so that we inherit them values properly, no actual search
+ $colinfo->{$rel}{rs}->search_rs({ map # only so that we inherit them values properly, no actual search
{
$_ => { '=' =>
- ( $main_proto_rs ||= $rsrc->resultset->search($main_proto) )
+ ( $main_proto_rs ||= $rsrc->resultset->search_rs($main_proto) )
->get_column( $colinfo->{$rel}{fk_map}{$_} )
->as_query
}
# Nuke the prefetch (if any) before the new $rs attrs
# are resolved (prefetch is useless - we are wrapping
# a subquery anyway).
- my $rs_copy = $self->search;
+ my $rs_copy = $self->search_rs;
$rs_copy->{attrs}{join} = $self->_merge_joinpref_attr (
$rs_copy->{attrs}{join},
delete $rs_copy->{attrs}{prefetch},