Branch Coverage

blib/lib/DBIx/Class/ResultSource.pm
Criterion Covered Total %
branch 233 296 78.7


line true false branch
124 113339 15561 if ref $class
126 0 128900 unless $attrs
128 519 128381 unless $new->{'resultset_attributes'}
129 519 128381 unless $new->{'_ordered_columns'}
130 519 128381 unless $new->{'_columns'}
131 519 128381 unless $new->{'_relationships'}
335 0 14203 unless $self->_ordered_columns
341 651 44759 if ($col =~ s/^\+//)
347 45372 38 if (ref $cols[0])
351 44757 653 unless exists $columns->{$col}
402 0 62228 unless exists $self->_columns->{$column}
404 1 42 if (not $self->_columns->{$column}{'data_type'} || $self->{'_columns_info_loaded'} and $self->column_info_from_storage and my $stor = &try(sub { $self->storage; } ))
422 0 4 unless $info->{$col} or $$lc_info{lc $col}
449 1 24060 if @_
452 0 24060 unless $self->{'_ordered_columns'}
478 1 15 if (&first(sub { not $_->{'data_type'}; } , values %$colinfo) and not $self->{'_columns_info_loaded'} and $self->column_info_from_storage and my $stor = &try(sub { $self->storage; } ))
500 0 4 unless $info->{$col} or $$lc_info{lc $col}
508 21606 25695 if ($columns) { }
510 41247 1 if (my $inf = $colinfo->{$_}) { }
571 0 2 unless my $columns = $self->_columns
620 1 18726 if $colinfo->{$col}{'is_nullable'}
644 27 26109 unless (shift())->_primaries
652 2 21776 unless my(@pcols) = $self->primary_columns
667 0 18516 if @too_many
694 0 325 unless my(@pks) = $self->primary_columns
740 1 19560 if (@_ > 2)
748 0 19560 if (ref $cols ne 'ARRAY')
759 0 29023 unless $self->has_column($col)
806 325 325 if (not @constraints % 2 and &first(sub { ref $_ ne 'ARRAY'; } , @constraints)) { }
851 336 3051 if ref $name eq 'SCALAR'
878 13850 16716 unless (shift())->_unique_constraints
928 0 7330 unless exists $unique_constraints{$constraint_name}
994 85 801 if ($class and $class->can('sqlt_deploy_hook'))
1001 886 0 if (my $hook = $self->sqlt_deploy_callback)
1126 0 14759 if scalar @_
1225 73836 85401 if (@_ > 1) { }
1229 88 85313 unless ($_[0]{'schema'})
1236 62 26 if $_[0]{'_detached_thaw'}
1342 1 29095 unless $cond
1347 24081 5014 if ((ref $cond || '') eq 'HASH')
1367 0 0 unless ($f_source)
1375 0 0 unless $f_source
1474 0 2474 unless my $rel_info = $self->relationship_info($rel)
1479 1 2473 unless ref $rel_info->{'cond'} eq 'HASH'
1499 49 18340 unless my $roundtrip_rsrc = &try(sub { $other_rsrc->related_source($other_rel); } )
1501 18326 14 if ($registered_source_name) { }
1502 12960 5366 if $registered_source_name ne ($roundtrip_rsrc->source_name || '')
1505 6 8 if $self->result_class ne $roundtrip_rsrc->result_class
1511 70 5304 if $other_rel_info eq $rel_info
1513 1432 3872 unless ref $other_rel_info->{'cond'} eq 'HASH'
1516 3145 727 if $self->_compare_relationship_keys([keys %$stripped_cond], [values %$other_stripped_cond]) and $self->_compare_relationship_keys([values %$stripped_cond], [keys %$other_stripped_cond])
1563 538 128 ref $cols eq 'HASH' ? :
1568 0 839 unless $set and @$set
1571 208 814 unless $colinfos->{$_} and not $colinfos->{$_}{'is_nullable'}
1583 0 3263 ref $_[0] eq 'HASH' ? :
1589 245 3014 $args->{'carp_on_nulls'} ? :
1594 2836 1436 if (not exists $vals->{$col} or ($vals->{$col} || '') eq \'1 = 0') { }
2 1434 elsif (not defined $vals->{$col}) { }
1598 2 0 $args->{'carp_on_nulls'} ? :
1610 1430 6 unless $args->{'columns_info'}{$col}{'_filter_info'}
4 4268 if not $cols->{'missing'} && exists $cols->{'missing'}{$col} and keys %{{} unless $args->{'columns_info'}{$col}{'_filter_info'};}
1617 1969 1290 if $cols->{'missing'}
1623 2 1288 if $cols->{'fc'}
1625 2 1286 if ($cols->{'undefined'} and not $ENV{'DBIC_NULLABLE_KEY_NOWARN'})
1639 1288 1288 unless $cols->{$_}
1647 0 2393 unless ref $seen eq 'HASH'
1650 0 2393 unless ref $jpath eq 'ARRAY'
1655 428 1965 if (not defined $join && length $join) { }
529 1436 elsif (ref $join eq 'ARRAY') { }
259 1177 elsif (ref $join eq 'HASH') { }
0 1177 elsif (ref $join) { }
1669 0 256 unless my $rel_info = $self->relationship_info($rel)
1699 0 1177 unless my $rel_info = $self->relationship_info($join)
1718 354 823 $parent_force_left ? :
1739 496 200 if exists $relinfo->{'attrs'}{'is_foreign_key_constraint'}
1742 0 200 unless ref $cond eq 'HASH'
1753 200 0 if (exists $keyhash->{$p})
1754 200 0 unless (defined $$rel_data{$keyhash->{$p}} or $rel_source->column_info($keyhash->{$p})->{'is_auto_increment'})
1787 8358 0 unless not defined $_
1791 5356 3002 unless $is_objlike[$_]
1793 2995 7 if (defined &blessed($res_args[$_])) { }
1796 0 2995 if ($res_args[$_]->isa('DBIx::Class::ResultSet'))
1807 0 7 unless ref $res_args[$_] eq 'HASH'
1812 25 1177 $is_objlike[0] ? :
2977 1202 $is_objlike[1] ? :
4179 0 $rel_name ? :
1836 2831 1346 if ($rc->{'join_free_condition'} and ref $res[0] eq 'HASH')
1844 2950 1227 wantarray ? :
1881 4213 1789 ref $_[0] eq 'HASH' ? :
1885 0 18006 if not defined $args->{$_} or length ref $args->{$_}
1889 0 6002 if $args->{'self_alias'} eq $args->{'foreign_alias'}
1897 0 6002 unless my $rel_info = $self->relationship_info($args->{'rel_name'})
1901 77 5925 if $rel_info and exists $rel_info->{'_original_name'}
1904 0 4198 if exists $args->{'self_result_object'} and exists $args->{'foreign_values'}
1907 0 6002 if exists $args->{'infer_values_based_on'} and ref $args->{'infer_values_based_on'} ne 'HASH'
1917 0 6002 if exists $args->{'self_result_object'} and not defined &blessed($args->{'self_result_object'}) && $args->{'self_result_object'}->isa('DBIx::Class::Row')
1924 609 5393 if (exists $args->{'foreign_values'})
1928 600 9 if (defined &blessed($args->{'foreign_values'})) { }
9 0 elsif (not defined $args->{'foreign_values'} or ref $args->{'foreign_values'} eq 'HASH') { }
1931 0 600 unless $args->{'foreign_values'}->isa('DBIx::Class::Row')
1937 0 600 unless $args->{'foreign_values'}->isa($rel_rsrc->result_class)
1958 226 5776 if (ref $args->{'condition'} eq 'CODE') { }
5759 17 elsif (ref $args->{'condition'} eq 'HASH') { }
17 0 elsif (ref $args->{'condition'} eq 'ARRAY') { }
1966 139 313 exists $args->{$_} ? :
1975 135 91 if exists $cref_args->{'self_result_object'}
1980 1 225 if @extra
1983 22 203 if (my $jfc = $ret->{'join_free_condition'})
1985 0 22 unless ref $jfc eq 'HASH'
1993 19 3 if (defined $args->{'self_result_object'}) { }
3 0 elsif (defined $args->{'foreign_values'}) { }
2004 0 22 unless $joinfree_alias
2044 0 5871 unless $fc =~ s/^foreign\.//
2047 0 5871 unless $lc =~ s/^self\.//
2060 605 5154 if ($args->{'foreign_values'}) { }
4053 1101 elsif (defined $args->{'self_result_object'}) { }
2067 3993 90 if ($args->{'self_result_object'}->has_column_loaded($l_cols[$i])) { }
2079 2 88 if $args->{'self_result_object'}->in_storage
2090 0 17 if (@{$args->{'condition'};} == 0) { }
0 17 elsif (@{$args->{'condition'};} == 1) { }
2110 0 34 if $ret and ($ret->{'join_free_condition'} xor $subcond->{'join_free_condition'})
2123 1 1247 if $args->{'require_join_free_condition'} and !$ret->{'join_free_condition'} || $ret->{'join_free_condition'} eq \'1 = 0'
2130 4600 1398 if (my $jfc = $ret->{'join_free_condition'} and $ret->{'join_free_condition'} ne \'1 = 0')
2134 4590 10 if (keys %$jfc_eqs)
2140 4661 11 if (exists $jfc_eqs->{$_} and ($jfc_eqs->{$_} || '') ne \'1 = 0') { }
10 1 elsif (not $args->{'infer_values_based_on'} && exists $args->{'infer_values_based_on'}{$col}) { }
2149 10 4580 if @nonvalues
2154 1252 4746 if ($args->{'infer_values_based_on'})
2158 1 1251 if @nonvalues
2170 240 5757 unless ($ret->{'identity_map'})
2177 0 222 if $col_eqs->{$lhs} eq \'1 = 0'
2190 0 222 unless $colinfos->{$lhs}
2192 184 38 if (my $rhs_ref = &is_literal_value($col_eqs->{$lhs})) { }
2 72 elsif ($col_eqs->{$lhs} =~ /^ ( \Q$args->{'self_alias'}\E \. .+ ) /x and +($colinfos->{$1} || {})->{'-result_source'} == $rel_rsrc) { }
2194 8 176 if ($$colinfos{$rhs_ref->[0]} and $colinfos->{$lhs}{'-source_alias'} ne $$colinfos{$rhs_ref->[0]}{'-source_alias'})
2202 0 8 $colinfos->{$lhs}{'-source_alias'} eq $args->{'self_alias'} ? :
2224 5997 0 unless $ret->{'condition'} eq \'1 = 0'
2245 0 29634 unless ($self->has_relationship($rel))
2252 29615 19 if (my $schema = &try(sub { $self->schema; } )) { }
2278 0 0 unless ($self->has_relationship($rel))
2307 0 206 $_[0]{'_detached_thaw'} ? :
2318 0 126250 if $global_phase_destroy ||= &in_global_destruction()
2335 107022 19228 if not ref $_[0]{'schema'} or &isweak($_[0]{'schema'})
2347 19217 11 if ($_[0]{'schema'})
2350 0 884078 unless $srcregs->{$_}
2351 5 884073 if $srcregs->{$_} == $_[0]
2356 0 19228 unless (eval { do { &weaken($_[0]{'schema'}); if ($_[0]{'schema'}) { my $srcregs = $_[0]{'schema'}->source_registrations; foreach $_ (keys %$srcregs) { next unless $srcregs->{$_}; $srcregs->{$_} = $_[0] if $srcregs->{$_} == $_[0]; } ; } ; 1 } })
2380 2047 11 $self->{'schema'} ? :