Merge 'doc_mods' into 'trunk'
[dbsrgits/DBIx-Class-Historic.git] / lib / DBIx / Class / Row.pm
index 5bbabba..f7b33cc 100644 (file)
@@ -58,7 +58,7 @@ sub __new_related_find_or_new_helper {
     return $self->result_source
                 ->related_source($relname)
                 ->resultset
-                ->find_or_new($data);
+                ->find_or_create($data);
   }
   return $self->find_or_new_related($relname, $data);
 }
@@ -265,7 +265,7 @@ sub insert {
         my $reverse = $source->reverse_relationship_info($relname);
         foreach my $obj (@cands) {
           $obj->set_from_related($_, $self) for keys %$reverse;
-          my $them = { $obj->get_columns };
+          my $them = { $obj->get_inflated_columns };
           if ($self->__their_pk_needs_us($relname, $them)) {
             $obj = $self->find_or_create_related($relname, $them);
           } else {
@@ -518,18 +518,19 @@ appropriate.
 =cut
 
 sub set_column {
-  my $self = shift;
-  my ($column) = @_;
+  my ($self, $column, $new_value) = @_;
+
   $self->{_orig_ident} ||= $self->ident_condition;
-  my $old = $self->get_column($column);
-  my $ret = $self->store_column(@_);
+  my $old_value = $self->get_column($column);
+
+  $self->store_column($column, $new_value);
   $self->{_dirty_columns}{$column} = 1
-    if (defined $old xor defined $ret) || (defined $old && $old ne $ret);
+    if (defined $old_value xor defined $new_value) || (defined $old_value && $old_value ne $new_value);
 
   # XXX clear out the relation cache for this column
   delete $self->{related_resultsets}{$column};
 
-  return $ret;
+  return $new_value;
 }
 
 =head2 set_columns