From: Jess Robinson Date: Tue, 8 May 2007 20:08:06 +0000 (+0000) Subject: Merge 'DBIx-Class-current' into 'bulk_create' X-Git-Tag: v0.08010~150^2~51^2~16 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c586dc2c76453bf31d8d140299e806f88050b8c2;hp=de7c7c53befe98ad94ca0a7998fc0a4d528ad666;p=dbsrgits%2FDBIx-Class.git Merge 'DBIx-Class-current' into 'bulk_create' r3267@lilith (orig r3265): ash | 2007-05-08 20:35:36 +0100 Unbreak back-compat r3268@lilith (orig r3266): ash | 2007-05-08 20:41:38 +0100 Move -result_source handling further up --- diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index ae3ab90..883e190 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -1264,9 +1264,10 @@ sub new_result { my %new = ( %{ $self->_remove_alias($values, $alias) }, %{ $self->_remove_alias($collapsed_cond, $alias) }, + -source_handle => $self->_source_handle ); - return $self->result_class->new(\%new,$self->_source_handle); + return $self->result_class->new(\%new); } # _collapse_cond diff --git a/lib/DBIx/Class/Row.pm b/lib/DBIx/Class/Row.pm index 52e0ffe..5b9a3b9 100644 --- a/lib/DBIx/Class/Row.pm +++ b/lib/DBIx/Class/Row.pm @@ -44,13 +44,18 @@ passed objects. ## tests! sub new { - my ($class, $attrs, $source) = @_; + my ($class, $attrs) = @_; $class = ref $class if ref $class; my $new = { _column_data => {} }; bless $new, $class; - $new->_source_handle($source) if $source; + if (my $handle = delete $attrs->{-source_handle}) { + $new->_source_handle($handle); + } + if (my $source = delete $attrs->{-result_source}) { + $new->result_source($source); + } if ($attrs) { $new->throw_exception("attrs must be a hashref") @@ -108,9 +113,6 @@ sub new { unless $class->has_column($key); $new->store_column($key => $attrs->{$key}); } - if (my $source = delete $attrs->{-result_source}) { - $new->result_source($source); - } $new->{_relationship_data} = $related if $related; $new->{_inflated_column} = $inflated if $inflated;