X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRow.pm;h=7596f4a907c3c4e66a3c79e852a7105f1bd04be2;hb=7474ed3b192693baa28d2f52de502f0ec3e8ac4e;hp=ae89b78a2a5a533a048b55df4b91c9efc526d4d9;hpb=1bd54f3d4bc8428d602d2e28cb410b303bb242b7;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Row.pm b/lib/DBIx/Class/Row.pm index ae89b78..7596f4a 100644 --- a/lib/DBIx/Class/Row.pm +++ b/lib/DBIx/Class/Row.pm @@ -556,7 +556,9 @@ sub update { my %to_update = $self->get_dirty_columns or return $self; - $self->throw_exception( "Not in database" ) unless $self->in_storage; + $self->throw_exception( + 'Result object not marked in_storage: an update() operation is not possible' + ) unless $self->in_storage; my $rows = $self->result_source->schema->storage->update( $self->result_source, \%to_update, $self->_storage_ident_condition @@ -618,7 +620,9 @@ See also L. sub delete { my $self = shift; if (ref $self) { - $self->throw_exception( "Not in database" ) unless $self->in_storage; + $self->throw_exception( + 'Result object not marked in_storage: a delete() operation is not possible' + ) unless $self->in_storage; $self->result_source->schema->storage->delete( $self->result_source, $self->_storage_ident_condition @@ -1193,7 +1197,7 @@ sub copy { $copied->{$_->ID}++ or $_->copy( - $foreign_vals ||= $rsrc->_resolve_relationship_condition( + $foreign_vals ||= $rsrc->resolve_relationship_condition( require_join_free_values => 1, rel_name => $rel_name, self_result_object => $new,