Branch Coverage

blib/lib/DBIx/Class/Row.pm
Criterion Covered Total %
branch 185 218 84.8


line true false branch
24 0 312 $ENV{'DBIC_MULTICREATE_DEBUG'} ? :
140 150 103 if ($self->__their_pk_needs_us($rel_name)) { }
103 0 elsif ($rsrc->_pk_depends_on($rel_name, $proc_data)) { }
145 2 101 if (not keys %$proc_data) { }
154 18 83 if $exists
176 309 226 if $rel_source->_pk_depends_on($key, $us)
183 0 1519 if ref $class
187 1519 0 if ($attrs)
188 2 1517 unless ref $attrs eq 'HASH'
192 1 1516 if (my $h = delete $attrs->{'-source_handle'})
196 1516 1 if $rsrc
198 6 1511 if (my $col_from_rel = delete $attrs->{'-cols_from_relations'})
205 434 3129 if (ref $attrs->{$key} and not &is_literal_value($attrs->{$key}))
207 0 434 unless $rsrc
211 120 314 if ($acc_type eq 'single') { }
84 230 elsif ($acc_type eq 'multi' and ref $attrs->{$key} eq 'ARRAY') { }
104 126 elsif ($acc_type eq 'filter') { }
0 126 elsif (+($colinfos ||= $rsrc->columns_info)->{$key}{'_inflate_info'}) { }
213 45 75 unless (&blessed($rel_obj))
217 80 40 if ($rel_obj->in_storage) { }
233 136 14 unless (&blessed($rel_obj))
237 0 150 if ($rel_obj->in_storage) { }
251 72 32 unless (&blessed($rel_obj))
254 41 63 if ($rel_obj->in_storage) { }
274 168 1347 if $related
275 97 1418 if $inflated
343 0 1517 if $self->in_storage
345 0 1517 unless $rsrc
353 1235 282 unless $self->{'_relationship_data'}
354 944 573 unless $self->{'_inflated_column'}
361 185 119 unless ($self->{'_rel_in_storage'}{$rel_name})
362 80 105 unless &blessed($rel_obj) and $rel_obj->isa('DBIx::Class::Row')
364 15 90 unless $rsrc->_pk_depends_on($rel_name, {$rel_obj->get_columns})
373 75 15 unless $rel_obj->{'_relationship_data'}
377 13 77 if (keys %$them and $existing = $rsrc->related_source($rel_name)->resultset->find($them)) { }
396 79 1437 if (keys %related_stuff)
423 4 4013 if not exists $current_rowdata{$_} or (defined $current_rowdata{$_} xor defined $returned_cols->{$_}) or defined $current_rowdata{$_} and "$current_rowdata{$_}" ne "$returned_cols->{$_}"
440 2 93 unless $rsrc->has_relationship($rel_name)
444 78 15 ref $related_stuff{$rel_name} eq 'ARRAY' ? :
447 92 0 if (@cands and &blessed($cands[0]) and $cands[0]->isa('DBIx::Class::Row'))
452 159 0 if ($self->__their_pk_needs_us($rel_name)) { }
453 8 151 if (exists $self->{'_ignore_at_insert'}{$rel_name}) { }
470 145 1366 if $rollback_guard
554 778 44 if $upd
556 39 782 unless my(%to_update) = $self->get_dirty_columns
559 0 782 unless $self->in_storage
566 0 780 if ($rows == 0) { }
0 780 elsif ($rows > 1) { }
622 116 0 if (ref $self) { }
623 1 115 unless $self->in_storage
635 0 0 @_ > 1 && ref $_[-1] eq 'HASH' ? :
636 0 0 ref $_[0] eq 'HASH' ? :
674 0 19374 unless ref $self
677 17997 1377 if exists $self->{'_column_data'}{$column}
679 65 1312 if (exists $self->{'_inflated_column'}{$column})
686 1 1311 unless $self->result_source->has_column($column)
713 0 5459 unless ref $self
718 4772 687 exists $self->{'_inflated_column'}{$column} || exists $self->{'_column_data'}{$column} ? :
743 1143 2069 if (exists $self->{'_inflated_column'})
746 49 53 unless (exists $self->{'_column_data'}{$col})
757 3 40 if not $ENV{'DBIC_COLUMNS_INCLUDE_FILTER_RELS'} and defined $self->{'related_resultsets'}{$col} and defined $self->{'related_resultsets'}{$col}->get_cache
815 1 12 unless exists $self->{'_column_data'}{$column} or $self->result_source->has_column($column)
818 3 9 if exists $self->{'_dirty_columns'}{$column}
824 1 8 if (exists $self->{'_inflated_column'}{$column})
863 10 0 unless ($ENV{'DBIC_COLUMNS_INCLUDE_FILTER_RELS'})
866 3 5 if ($loaded_colinfo->{$_}{'_inflate_info'} and defined $self->{'related_resultsets'}{$_} and defined $self->{'related_resultsets'}{$_}->get_cache)
892 5 16 !exists $loaded_colinfo->{$_} || exists $loaded_colinfo->{$_}{'accessor'} && !defined($loaded_colinfo->{$_}{'accessor'}) ? :
895 0 16 defined $loaded_colinfo->{$_}{'accessor'} ? :
906 1 720 unless ($rsrc = $self->result_source)->has_column($column)
911 43 677 if (not defined $colinfo->{'is_numeric'} and my $storage = &dbic_internal_try(sub { $rsrc->schema->storage; } ))
918 25 18 $storage->is_datatype_numeric($colinfo->{'data_type'}) ? :
965 1853 58 if ($dirty)
978 1091 9649 if ($acc eq 'single' and $rel_names->{$rel_name}{'attrs'}{'fk_columns'}{$column}) { }
506 17783 elsif ($acc eq 'filter' and $rel_name eq $column) { }
990 611 257 if ($had_value and $self->in_storage and not exists $self->{'_column_data_in_storage'}{$column} and $self->_track_storage_value($column))
1012 29 878 if (defined $old xor defined $new) { }
0 878 elsif (not defined $old) { }
101 777 elsif (&is_literal_value($old) or &is_literal_value($new)) { }
56 721 elsif ($old eq $new) { }
676 45 elsif ($self->_is_column_numeric($col)) { }
1109 110 786 if (ref $upd->{$key})
1114 2 108 if ($acc_type eq 'single') { }
1 107 elsif ($acc_type eq 'multi') { }
8 99 elsif (exists +(+($colinfos ||= $rsrc->columns_info)->{$key} || {})->{'_inflate_info'}) { }
1175 32 169 if not $colinfo->{$col} or $colinfo->{$col}{'is_auto_increment'}
1193 247 42 unless $rel_info->{'attrs'}{'cascade_copy'}
1239 2 6575 unless exists $self->{'_column_data'}{$column} or $self->result_source->has_column($column)
1240 0 6575 if @_ < 3
1244 126 6449 length ref $value && ($vref = &is_plain_value($value)) ? :
1286 551 9365 if ($prefetch)
1289 2 620 unless (my $relinfo = $rsrc->relationship_info($rel_name))
1295 0 2 unless $prefetch->{$rel_name}[0]
2 0 if (my($colname) = (sort {length $a <=> length $b;} keys %{{} unless $prefetch->{$rel_name}[0];}))
1305 0 620 unless $relinfo->{'attrs'}{'accessor'}
1310 469 151 if (@{[] unless $prefetch->{$rel_name};} and ref $prefetch->{$rel_name} ne $DBIx::Class::ResultSource::RowParser::Util::null_branch_class)
1311 44 576 unless $prefetch->{$rel_name}
1316 263 206 if (ref $prefetch->{$rel_name}[0] eq 'ARRAY') { }
1332 176 444 if ($relinfo->{'attrs'}{'accessor'} eq 'single') { }
145 299 elsif ($relinfo->{'attrs'}{'accessor'} eq 'filter') { }
1377 0 1 $self->in_storage ? :
1400 3 13 unless +(shift())->{'_dirty_columns'}
1451 0 131809 unless $_[0]->can('result_source_instance')
1484 798 34585 if (exists $info->{'accessor'})
1485 269 529 unless defined $info->{'accessor'}
1528 296 3 defined $_[0] ? :
1572 0 296 unless $self->in_storage
1575 296 0 unless $attrs
1577 295 0 if (my $current_storage = $self->get_from_storage($attrs)) { }
1603 16 1 if (not &DBIx::Class::_Util::in_internal_try() and my $rsrc = &dbic_internal_try(sub { $self->result_source_instance; } )) { }