Branch Coverage

blib/lib/DBIx/Class/Row.pm
Criterion Covered Total %
branch 188 222 84.6


line true false branch
22 0 379 $ENV{'DBIC_MULTICREATE_DEBUG'} ? :
138 148 101 if ($self->__their_pk_needs_us($rel_name)) { }
101 0 elsif ($rsrc->_pk_depends_on($rel_name, $proc_data)) { }
143 2 99 if (not keys %$proc_data) { }
152 18 81 if $exists
174 303 181 if $rel_source->_pk_depends_on($key, $us)
181 0 1495 if ref $class
185 1495 0 if ($attrs)
186 2 1493 unless ref $attrs eq 'HASH'
190 1 1492 if (my $h = delete $$attrs{-'source_handle'})
194 1493 0 if $rsrc
196 6 1487 if (my $col_from_rel = delete $$attrs{-'cols_from_relations'})
203 428 3105 if (ref $attrs->{$key} and not &is_literal_value($attrs->{$key}))
205 0 428 unless $rsrc
209 118 310 if ($acc_type eq 'single') { }
81 229 elsif ($acc_type eq 'multi' and ref $attrs->{$key} eq 'ARRAY') { }
102 127 elsif ($acc_type eq 'filter') { }
2 125 elsif ($rsrc->has_column($key) and $rsrc->column_info($key)->{'_inflate_info'}) { }
211 43 75 unless (&blessed($rel_obj))
215 80 38 if ($rel_obj->in_storage) { }
231 136 11 unless (&blessed($rel_obj))
235 0 147 if ($rel_obj->in_storage) { }
249 70 32 unless (&blessed($rel_obj))
252 41 61 if ($rel_obj->in_storage) { }
273 168 1323 if $related
274 97 1394 if $inflated
342 0 1495 if $self->in_storage
344 0 1495 unless $rsrc
352 1219 276 unless $self->{'_relationship_data'}
353 928 567 unless $self->{'_inflated_column'}
360 181 119 unless ($self->{'_rel_in_storage'}{$rel_name})
361 80 101 unless &blessed($rel_obj) and $rel_obj->isa('DBIx::Class::Row')
363 13 88 unless $rsrc->_pk_depends_on($rel_name, {$rel_obj->get_columns})
372 73 15 unless $rel_obj->{'_relationship_data'}
376 13 75 if (keys %$them and $existing = $self->result_source->related_source($rel_name)->resultset->find($them)) { }
396 81 1413 if (keys %related_stuff)
422 2 3987 if not exists $current_rowdata{$_} or (defined $current_rowdata{$_} xor defined $returned_cols->{$_}) or defined $current_rowdata{$_} and $current_rowdata{$_} ne $returned_cols->{$_}
433 4 89 unless $rsrc->has_relationship($rel_name)
437 76 13 ref $related_stuff{$rel_name} eq 'ARRAY' ? :
440 88 0 if (@cands and &blessed($cands[0]) and $cands[0]->isa('DBIx::Class::Row'))
445 155 0 if ($self->__their_pk_needs_us($rel_name)) { }
446 6 149 if (exists $self->{'_ignore_at_insert'}{$rel_name}) { }
463 145 1345 if $rollback_guard
547 772 46 if $upd
549 39 778 unless my(%to_update) = $self->get_dirty_columns
552 0 778 unless $self->in_storage
557 0 776 if ($rows == 0) { }
0 776 elsif ($rows > 1) { }
613 117 0 if (ref $self) { }
614 1 116 unless $self->in_storage
625 0 0 unless my $rsrc = &try(sub { $self->result_source_instance; } )
627 0 0 @_ > 1 && ref $_[$#_] eq 'HASH' ? :
628 0 0 ref $_[0] eq 'HASH' ? :
666 0 19847 unless ref $self
669 18481 1366 if exists $self->{'_column_data'}{$column}
671 63 1303 if (exists $self->{'_inflated_column'}{$column})
678 1 1302 unless $self->result_source->has_column($column)
705 0 5930 unless ref $self
710 5265 665 exists $self->{'_inflated_column'}{$column} || exists $self->{'_column_data'}{$column} ? :
735 1068 2027 if (exists $self->{'_inflated_column'})
738 49 55 unless (exists $self->{'_column_data'}{$col})
749 3 40 if not $ENV{'DBIC_COLUMNS_INCLUDE_FILTER_RELS'} and defined $self->{'related_resultsets'}{$col} and defined $self->{'related_resultsets'}{$col}->get_cache
807 1 12 unless exists $self->{'_column_data'}{$column} or $self->result_source->has_column($column)
810 3 9 if exists $self->{'_dirty_columns'}{$column}
816 1 8 if (exists $self->{'_inflated_column'}{$column})
855 6 0 unless ($ENV{'DBIC_COLUMNS_INCLUDE_FILTER_RELS'})
858 3 2 if ($loaded_colinfo->{$_}{'_inflate_info'} and defined $self->{'related_resultsets'}{$_} and defined $self->{'related_resultsets'}{$_}->get_cache)
884 3 8 !exists $loaded_colinfo->{$_} || exists $loaded_colinfo->{$_}{'accessor'} && !defined($loaded_colinfo->{$_}{'accessor'}) ? :
887 0 8 defined $loaded_colinfo->{$_}{'accessor'} ? :
895 1 716 unless $self->result_source->has_column($column)
900 46 670 if (not defined $colinfo->{'is_numeric'} and my $storage = &try(sub { $self->result_source->schema->storage; } ))
907 26 20 $storage->is_datatype_numeric($colinfo->{'data_type'}) ? :
954 1771 59 if ($dirty)
967 896 9062 if ($acc eq 'single' and $rel_names->{$rel_name}{'attrs'}{'fk_columns'}{$column}) { }
439 16761 elsif ($acc eq 'filter' and $rel_name eq $column) { }
979 603 260 if ($had_value and $self->in_storage and not exists $self->{'_column_data_in_storage'}{$column} and $self->_track_storage_value($column))
1001 27 875 if (defined $old xor defined $new) { }
0 875 elsif (not defined $old) { }
101 774 elsif (&is_literal_value($old) or &is_literal_value($new)) { }
57 717 elsif ($old eq $new) { }
670 47 elsif ($self->_is_column_numeric($col)) { }
1093 110 781 if (ref $upd->{$key})
1098 2 108 if ($acc_type eq 'single') { }
1 107 elsif ($acc_type eq 'multi') { }
8 99 elsif ($rsrc->has_column($key) and exists $rsrc->column_info($key)->{'_inflate_info'}) { }
1157 32 169 if not $colinfo->{$col} or $colinfo->{$col}{'is_auto_increment'}
1175 247 42 unless $rel_info->{'attrs'}{'cascade_copy'}
1184 46 6 unless $$copied{$related->ID}++
1215 2 6452 unless exists $self->{'_column_data'}{$column} or $self->result_source->has_column($column)
1216 0 6452 if @_ < 3
1255 551 9344 if ($prefetch)
1258 2 620 unless (my $relinfo = $rsrc->relationship_info($rel_name))
1264 0 2 unless $prefetch->{$rel_name}[0]
2 0 if (my($colname) = (sort {length $a <=> length $b;} keys %{{} unless $prefetch->{$rel_name}[0];}))
1274 0 620 unless $relinfo->{'attrs'}{'accessor'}
1279 469 151 if (@{[] unless $prefetch->{$rel_name};} and ref $prefetch->{$rel_name} ne $DBIx::Class::ResultSource::RowParser::Util::null_branch_class)
1280 44 576 unless $prefetch->{$rel_name}
1285 263 206 if (ref $prefetch->{$rel_name}[0] eq 'ARRAY') { }
1301 176 444 if ($relinfo->{'attrs'}{'accessor'} eq 'single') { }
145 299 elsif ($relinfo->{'attrs'}{'accessor'} eq 'filter') { }
1343 1 1 $self->in_storage ? :
1366 2 12 unless (shift())->{'_dirty_columns'}
1407 0 31349 unless ref $_[0]
1414 1545 29804 @_ > 1 ? :
1450 999 44409 if (exists $info->{'accessor'})
1451 336 663 unless defined $info->{'accessor'}
1494 298 3 if (defined $attrs)
1537 0 298 unless $self->in_storage
1540 298 0 unless $attrs
1542 297 0 if (my $current_storage = $self->get_from_storage($attrs)) { }
1568 11 50 if (ref $self and ref(my $rsrc = &try(sub { $self->result_source_instance; } ))) { }