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 103 if ($self->__their_pk_needs_us($rel_name)) { }
103 0 elsif ($rsrc->_pk_depends_on($rel_name, $proc_data)) { }
143 2 101 if (not keys %$proc_data) { }
152 18 83 if $exists
174 303 187 if $rel_source->_pk_depends_on($key, $us)
181 0 1503 if ref $class
185 1503 0 if ($attrs)
186 2 1501 unless ref $attrs eq 'HASH'
190 1 1500 if (my $h = delete $attrs->{'-source_handle'})
194 1501 0 if $rsrc
196 6 1495 if (my $col_from_rel = delete $attrs->{'-cols_from_relations'})
203 433 3120 if (ref $attrs->{$key} and not &is_literal_value($attrs->{$key}))
205 0 433 unless $rsrc
209 118 315 if ($acc_type eq 'single') { }
81 234 elsif ($acc_type eq 'multi' and ref $attrs->{$key} eq 'ARRAY') { }
106 128 elsif ($acc_type eq 'filter') { }
2 126 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 72 34 unless (&blessed($rel_obj))
252 43 63 if ($rel_obj->in_storage) { }
273 168 1331 if $related
274 101 1398 if $inflated
342 0 1509 if $self->in_storage
344 0 1509 unless $rsrc
352 1230 279 unless $self->{'_relationship_data'}
353 932 577 unless $self->{'_inflated_column'}
360 184 121 unless ($self->{'_rel_in_storage'}{$rel_name})
361 81 103 unless &blessed($rel_obj) and $rel_obj->isa('DBIx::Class::Row')
363 13 90 unless $rsrc->_pk_depends_on($rel_name, {$rel_obj->get_columns})
372 75 15 unless $rel_obj->{'_relationship_data'}
376 13 77 if (keys %$them and $existing = $self->result_source->related_source($rel_name)->resultset->find($them)) { }
396 82 1426 if (keys %related_stuff)
422 4 4026 if not exists $current_rowdata{$_} or (defined $current_rowdata{$_} xor defined $returned_cols->{$_}) or defined $current_rowdata{$_} and $current_rowdata{$_} ne $returned_cols->{$_}
433 5 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 148 1356 if $rollback_guard
547 785 51 if $upd
549 41 794 unless my(%to_update) = $self->get_dirty_columns
552 0 794 unless $self->in_storage
557 0 792 if ($rows == 0) { }
0 792 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 19966 unless ref $self
669 18594 1372 if exists $self->{'_column_data'}{$column}
671 67 1305 if (exists $self->{'_inflated_column'}{$column})
678 1 1304 unless $self->result_source->has_column($column)
705 0 5984 unless ref $self
710 5319 665 exists $self->{'_inflated_column'}{$column} || exists $self->{'_column_data'}{$column} ? :
735 1085 2044 if (exists $self->{'_inflated_column'})
738 49 58 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 7 0 unless ($ENV{'DBIC_COLUMNS_INCLUDE_FILTER_RELS'})
858 3 5 if ($loaded_colinfo->{$_}{'_inflate_info'} and defined $self->{'related_resultsets'}{$_} and defined $self->{'related_resultsets'}{$_}->get_cache)
884 5 13 !exists $loaded_colinfo->{$_} || exists $loaded_colinfo->{$_}{'accessor'} && !defined($loaded_colinfo->{$_}{'accessor'}) ? :
887 0 13 defined $loaded_colinfo->{$_}{'accessor'} ? :
895 1 727 unless $self->result_source->has_column($column)
900 47 680 if (not defined $colinfo->{'is_numeric'} and my $storage = &try(sub { $self->result_source->schema->storage; } ))
907 26 21 $storage->is_datatype_numeric($colinfo->{'data_type'}) ? :
954 1798 62 if ($dirty)
967 909 9368 if ($acc eq 'single' and $rel_names->{$rel_name}{'attrs'}{'fk_columns'}{$column}) { }
447 17324 elsif ($acc eq 'filter' and $rel_name eq $column) { }
979 612 267 if ($had_value and $self->in_storage and not exists $self->{'_column_data_in_storage'}{$column} and $self->_track_storage_value($column))
1001 27 894 if (defined $old xor defined $new) { }
0 894 elsif (not defined $old) { }
106 788 elsif (&is_literal_value($old) or &is_literal_value($new)) { }
60 728 elsif ($old eq $new) { }
679 49 elsif ($self->_is_column_numeric($col)) { }
1093 116 797 if (ref $upd->{$key})
1098 2 114 if ($acc_type eq 'single') { }
1 113 elsif ($acc_type eq 'multi') { }
14 99 elsif ($rsrc->has_column($key) and exists $rsrc->column_info($key)->{'_inflate_info'}) { }
1157 38 194 if not $colinfo->{$col} or $colinfo->{$col}{'is_auto_increment'}
1175 297 50 unless $rel_info->{'attrs'}{'cascade_copy'}
1184 50 6 unless $$copied{$related->ID}++
1215 2 6519 unless exists $self->{'_column_data'}{$column} or $self->result_source->has_column($column)
1216 0 6519 if @_ < 3
1255 551 9373 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 31710 unless ref $_[0]
1414 1559 30151 @_ > 1 ? :
1450 999 44409 if (exists $info->{'accessor'})
1451 336 663 unless defined $info->{'accessor'}
1494 304 3 if (defined $attrs)
1537 0 304 unless $self->in_storage
1540 304 0 unless $attrs
1542 303 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; } ))) { }