X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRow.pm;fp=lib%2FDBIx%2FClass%2FRow.pm;h=8ce93108eabad0196feadbee4460b301e9915eac;hb=5567c8f84ba0c2d620191cc8ac956b0b5630ca00;hp=c8b57b696c61c9764343541852239f487d13b5b4;hpb=7cdad662d84d7987b5ebfb7d132b78005878fb8a;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Row.pm b/lib/DBIx/Class/Row.pm index c8b57b6..8ce9310 100644 --- a/lib/DBIx/Class/Row.pm +++ b/lib/DBIx/Class/Row.pm @@ -372,8 +372,7 @@ sub insert { my $existing; # if there are no keys - nothing to search for - if (keys %$them and $existing = $self->result_source - ->related_source($rel_name) + if (keys %$them and $existing = $rsrc->related_source($rel_name) ->resultset ->find($them) ) { @@ -891,15 +890,18 @@ sub get_inflated_columns { sub _is_column_numeric { my ($self, $column) = @_; - return undef unless $self->result_source->has_column($column); + my $rsrc; - my $colinfo = $self->result_source->column_info ($column); + return undef + unless ( $rsrc = $self->result_source )->has_column($column); + + my $colinfo = $rsrc->column_info ($column); # cache for speed (the object may *not* have a resultsource instance) if ( ! defined $colinfo->{is_numeric} and - my $storage = dbic_internal_try { $self->result_source->schema->storage } + my $storage = dbic_internal_try { $rsrc->schema->storage } ) { $colinfo->{is_numeric} = $storage->is_datatype_numeric ($colinfo->{data_type})