]> Dogcows Code - chaz/p5-DBIx-Class-ResultSet-RecursiveUpdate/blobdiff - lib/DBIx/Class/ResultSet/RecursiveUpdate.pm
add test script for mysql
[chaz/p5-DBIx-Class-ResultSet-RecursiveUpdate] / lib / DBIx / Class / ResultSet / RecursiveUpdate.pm
index 1d6168132f00ea8cc4c3d3604640121a97ef32f7..f8b567de3a2f6c701f5999a7ec1c87f08e301df8 100644 (file)
@@ -107,7 +107,7 @@ sub recursive_update {
         $object = $self->find( $updates, { key => 'primary' } );
     }
 
-    $object = $self->new( {} )
+    $object = $self->new_result( {} )
         unless defined $object;
 
     # warn Dumper( $updates ); use Data::Dumper;
@@ -207,7 +207,7 @@ sub recursive_update {
             $if_not_submitted );
     }
 
-    # $self->_delete_empty_auto_increment($object);
+    _delete_empty_auto_increment($object);
     # don't allow insert to recurse to related objects
     # do the recursion ourselves
     # $object->{_rel_in_storage} = 1;
@@ -326,7 +326,7 @@ sub _update_relation {
                 ->{is_nullable};
     }
 
-    $if_not_submitted = $all_fks_nullable ? 'nullify' : 'delete'
+    $if_not_submitted = $all_fks_nullable ? 'set_to_null' : 'delete'
         unless defined $if_not_submitted;
 
     #warn "\tNULLABLE: $all_fks_nullable ACTION: $if_not_submitted\n";
@@ -387,9 +387,9 @@ sub _update_relation {
                 $rs_rel_delist =
                     $rs_rel_delist->search_rs( { -not => [@cond] } );
             }
+            #warn "\tCOND: " . Dumper(\@cond);
         }
 
-        #warn "\tCOND: " . Dumper(\%cond);
         #my $rel_delist_cnt = $rs_rel_delist->count;
         if ( $if_not_submitted eq 'delete' ) {
 
@@ -463,7 +463,7 @@ sub is_m2m {
     if ( $rclass->can('_m2m_metadata') ) {
         return $rclass->_m2m_metadata->{$relation};
     }
-    my $object = $self->new( {} );
+    my $object = $self->new_result( {} );
     if (    $object->can($relation)
         and !$self->result_source->has_relationship($relation)
         and $object->can( 'set_' . $relation ) )
@@ -484,13 +484,13 @@ sub get_m2m_source {
             ->related_source(
             $rclass->_m2m_metadata->{$relation}{foreign_relation} );
     }
-    my $object = $self->new( {} );
+    my $object = $self->new_result( {} );
     my $r = $object->$relation;
     return $r->result_source;
 }
 
 sub _delete_empty_auto_increment {
-    my ( $self, $object ) = @_;
+    my ( $object ) = @_;
     for my $col ( keys %{ $object->{_column_data} } ) {
         if ($object->result_source->column_info($col)->{is_auto_increment}
             and ( !defined $object->{_column_data}{$col}
This page took 0.021412 seconds and 4 git commands to generate.