Condition Coverage

blib/lib/DBIx/Class/Storage/DBIHacks.pm
Criterion Covered Total %
condition 107 145 73.7


and 2 conditions

line l !l condition
625 1602 1178 $_->{'-alias'} and not $aliases_by_type->{'restricting'}{$_->{'-alias'}} and not $_->{'-join_type'} && $_->{'-join_type'} =~ /^left (?: \s+ outer)? $/xi and $aliases_by_type->{'restricting'}{$_->{'-alias'}} = {'-parents', $_->{'-join_path'} || []}

and 3 conditions

line !l l&&!r l&&r condition
58 0 0 992 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1
0 0 992 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 and ref $attrs->{'from'}[0] eq 'HASH'
0 0 992 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 and ref $attrs->{'from'}[0] eq 'HASH' and ref $attrs->{'from'}[1] eq 'ARRAY'
0 57 935 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 and ref $attrs->{'from'}[0] eq 'HASH' and ref $attrs->{'from'}[1] eq 'ARRAY' and $self->_use_join_optimizer
130 0 0 87 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1
0 0 87 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 and ref $attrs->{'from'}[0] eq 'HASH'
0 0 87 ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 and ref $attrs->{'from'}[0] eq 'HASH' and ref $attrs->{'from'}[1] eq 'ARRAY'
158 0 0 20 ref $node eq 'ARRAY' && ref $node->[0] eq 'HASH'
163 20 0 87 ($h->{'-alias'} || '') eq $root_alias and $h->{'-rsrc'}
181 27 295 432 $colinfo->{$sel} and $colinfo->{$sel}{'-source_alias'} ne $root_alias
184 10 0 295 not ref $sel and my $ci = $colinfo->{$sel}
219 225 284 37 $ci->{'-source_alias'} eq $root_alias and not $$selected_root_columns{$ci->{'-colname'}}++
250 42 37 8 grep {$_ ne $root_alias;} keys %{{} unless $inner_aliastypes->{'multiplying'};} and !$inner_aliastypes->{'grouping'} || $inner_attrs->{'_grouped_by_distinct'}
363 80 4 2 $may_need_outer_group_by and $attrs->{'_grouped_by_distinct'}
440 986 959 835 ref $node eq 'ARRAY' and not $j->{'-is_single'}
471 977 0 99 defined $sql_maker->{'quote_char'} and length $sql_maker->{'quote_char'}
625 4 806 1974 $_->{'-alias'} and not $aliases_by_type->{'restricting'}{$_->{'-alias'}}
1177 1 796 $_->{'-join_type'} && $_->{'-join_type'} =~ /^left (?: \s+ outer)? $/xi
810 796 1178 $_->{'-alias'} and not $aliases_by_type->{'restricting'}{$_->{'-alias'}} and not $_->{'-join_type'} && $_->{'-join_type'} =~ /^left (?: \s+ outer)? $/xi
655 17 382 0 $colinfos->{$_} and not $_ =~ /\./
685 163 2 1 not $chunk_ci = $$colinfos{$order_by[$o_idx][0]} and $attrs->{'_aliastypes'}
711 14 33 28 $group_already_unique and not $aliastypes->{'multiplying'}{$chunk_ci->{'-source_alias'}}
47 12 16 $group_already_unique and not $aliastypes->{'multiplying'}{$chunk_ci->{'-source_alias'}} and not $aliastypes->{'premultiplied'}{$chunk_ci->{'-source_alias'}}
907 0 1 25 $colinfos->{$_} && $colinfos->{$_}{'-source_alias'} eq $attrs->{'alias'}

or 2 conditions

line l !l condition
163 107 0 $h->{'-alias'} || ''
269 0 0 $inner_select_with_extras ||= [@{$inner_attrs->{'select'};}]
440 835 0 $j->{'-join_path'} || []
0 835 $aliases_by_type->{'multiplying'}{$al} ||= {'-parents', $j->{'-join_path'} || []}
447 358 0 $j->{'-join_path'} || []
0 358 $aliases_by_type->{'premultiplied'}{$al} ||= {'-parents', $j->{'-join_path'} || []}
586 3234 2177 $$alias_list{$matches[$i]}{'-join_path'} || []
7274 5411 $aliases_by_type->{$type}{$matches[$i]} ||= {'-parents', $$alias_list{$matches[$i]}{'-join_path'} || []}
606 63 232 $alias_list->{$alias}{'-join_path'} || []
2201 295 $aliases_by_type->{$type}{$alias} ||= {'-parents', $alias_list->{$alias}{'-join_path'} || []}
625 657 521 $_->{'-join_path'} || []
738 13 46 $order_chunks ||= [map({ref $_ eq 'ARRAY' ? $_ : [$_];} $sql_maker->_order_by_chunks($attrs->{'order_by'}))]
765 59 86 $new_order_by[$_] ||= \$order_chunks->[$_]

or 3 conditions

line l !l&&r !l&&!r condition
66 87 848 0 $attrs->{'_precalculated_aliastypes'} || $self->_resolve_aliastypes_from_select_args($attrs)
78 116 121 698 $attrs->{'_force_prune_multiplying_joins'} or $attrs->{'group_by'}
101 4 1481 130 not defined $j->[0]{'-alias'} or $need_joins{$j->[0]{'-alias'}}
147 4 11 72 delete $inner_attrs->{'_order_is_artificial'} or not $inner_attrs->{'rows'}
185 13 4 0 $sel->{'-as'} ||= $attrs->{'as'}[$i]
186 17 0 0 $sel->{'-as'} || "inner_column_$i"
250 32 7 6 !$inner_aliastypes->{'grouping'} || $inner_attrs->{'_grouped_by_distinct'}
355 0 6 2 $may_need_outer_group_by ||= $outer_aliastypes->{'multiplying'}{$alias} ? 1 : 0
539 3314 2066 0 length $to_scan->{$_} or delete $to_scan->{$_}
633 4317 108 0 keys %{$$aliases_by_type{$_};} or delete $aliases_by_type->{$_}
652 382 17 14 not ref $_ or ref $_ ne 'HASH'
685 0 3 163 @{$order_by[$o_idx];} != 1 or not $chunk_ci = $$colinfos{$order_by[$o_idx][0]} and $attrs->{'_aliastypes'}
708 28 8 0 $attrs->{'_aliastypes'} || $self->_resolve_aliastypes_from_select_args({'from', $attrs->{'from'}, 'order_by', $attrs->{'order_by'}})
25 36 0 $aliastypes ||= $attrs->{'_aliastypes'} || $self->_resolve_aliastypes_from_select_args({'from', $attrs->{'from'}, 'order_by', $attrs->{'order_by'}})
735 13 46 0 $sql_maker ||= $self->sql_maker