blib/lib/DBIx/Class/ResultSet.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 246 | 355 | 69.3 |
line | l | !l | condition |
---|---|---|---|
656 | 41078 | 2412 | ref $_ eq 'ARRAY' && !@$_ || ref $_ eq 'HASH' && !keys(%$_) and $_ = undef |
1459 | 989 | 0 | not defined $_->[$i] and push @violating_idx, $i and next COL |
2300 | 21137 | 1 | $$rel_info{$_->{'name'}} && (ref $data->[$i][$_->{'pos'}] eq 'ARRAY' || ref $data->[$i][$_->{'pos'}] eq 'HASH' || defined &blessed($data->[$i][$_->{'pos'}]) && $data->[$i][$_->{'pos'}]->isa('DBIx::Class::Row')) && 1 |
2350 | 9 | 7 | $rel_info->{$_} && (ref $data->[$i]{$_} eq 'ARRAY' || ref $data->[$i]{$_} eq 'HASH' || defined &blessed($data->[$i]{$_}) && $data->[$i]{$_}->isa('DBIx::Class::Row')) && 1 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
440 | 3446 | 8441 | 0 | @_ == 2 and !defined($_[0]) || ref $_[0] ne '' |
467 | 8286 | 9188 | 0 | not &List::Util::first(sub { not $safe{$_}; } , keys %$call_attrs) and !defined($call_cond) || ref $call_cond eq 'HASH' && !keys(%$call_cond) || ref $call_cond eq 'ARRAY' && !@$call_cond |
483 | 0 | 9039 | 8435 | $call_attrs and keys %$call_attrs |
593 | 599 | 1636 | 0 | @$as and not @$sel |
1547 | 89 | 0 | $pref and $attrs->{'_dark_selector'} | |
608 | 652 | 3 | 5 | ref $_ eq 'HASH' and exists $$_{-'as'} |
21 | 0 | 634 | not ref $_ and $_ =~ /^ [^\s\(\)]+ $/x | |
706 | 1 | 0 | 0 | @bind and ref $bind[-1] eq 'HASH' |
781 | 1000 | 6 | 375 | @_ > 1 && ref $_[$#_] eq 'HASH' |
819 | 1235 | 6 | 33 | length ref $call_cond->{$key} and my $relinfo = $rsrc->relationship_info($key) |
1241 | 14 | 19 | length ref $call_cond->{$key} and my $relinfo = $rsrc->relationship_info($key) and ref(my $val = delete $call_cond->{$key}) ne 'ARRAY' | |
842 | 807 | 333 | 8 | $self->{'attrs'}{'accessor'} and $self->{'attrs'}{'accessor'} eq 'single' |
1168 | 0 | 0 | 0 | @_ > 1 && ref $_[$#_] eq 'HASH' |
1270 | 6827 | 2000 | 0 | not $fetch_all || $attrs->{'order_by'} and $attrs->{'collapse'} |
1965 | 0 | 35 | not $fetch_all || $attrs->{'order_by'} and $attrs->{'collapse'} and my(@pcols) = $rsrc->primary_columns | |
1311 | 0 | 8 | 10 | $attrs->{'order_by'} && $rsrc->schema->storage->_extract_colinfo_of_stable_main_source_order_by_portion($attrs) |
1337 | 7596 | 0 | 226 | $attrs->{'collapse'} and my $aliastypes = $attrs->{'_last_sqlmaker_alias_map'} |
1353 | 2158 | 0 | 6 | ref $sel eq 'REF' and ref $$sel eq 'ARRAY' |
1362 | 993 | 1138 | 36 | $multiplied_selectors->{$sel} and not $attrs->{'as'}[$i] =~ /\./ |
1390 | 4522 | 13 | 96 | !$self->{'_result_inflator'}{'is_core_row'} && $inflator_cref == (require DBIx::Class::ResultClass::HashRefInflator && 'DBIx::Class::ResultClass::HashRefInflator'->can('inflate_result')) |
1395 | 4 | 0 | 7464 | $self->{'_result_inflator'}{'is_core_row'} and @$rows < 60 |
1459 | 989 | 0 | 0 | not defined $_->[$i] and push @violating_idx, $i |
1510 | 1305 | 6474 | 3 | not $fetch_all and @$rows > 1 |
1561 | 32942 | 2 | 0 | $self->{'cursor'} and $self->{'cursor'}{'_pos'} |
1594 | 565 | 41 | 15 | @_ and defined $_[0] |
1613 | 508 | 24 | 13 | $rows and $rows < $count |
1708 | 525 | 7 | 12 | ref $sel eq 'HASH' and $$sel{-'as'} |
1719 | 3 | 0 | 0 | defined $sql_maker->{'quote_char'} and length $sql_maker->{'quote_char'} |
1753 | 39 | 98 | 3 | $colpiece =~ /\./ and not $colpiece =~ /^$attrs->{'alias'}\./ |
1903 | 5 | 578 | 19 | not $needs_subq and @{$attrs->{'from'};} > 1 |
2230 | 0 | 7698 | 0 | ref $_[0] eq 'ARRAY' && (@{$_[0];} || (return)) && (ref $_[0][0] eq 'HASH' || ref $_[0][0] eq 'ARRAY') && $_[0] |
2292 | 0 | 21828 | 0 | $$colinfo{$data->[0][$_]} = {'pos', $_, 'name', $data->[0][$_]} and push @$colnames, $data->[0][$_] |
2316 | 5 | 0 | 0 | defined &blessed($_) and $_->isa('DBIx::Class::Row') |
2366 | 17 | 0 | 1 | defined &blessed($_) and $_->isa('DBIx::Class::Row') |
2602 | 0 | 1490 | 0 | &reftype($new) eq 'HASH' and not keys %$new |
1490 | 0 | 0 | &reftype($new) eq 'HASH' and not keys %$new and &blessed($new) | |
2703 | 1317 | 0 | 0 | $extra_checks{-'join'} and ref $attrs->{'from'} eq 'ARRAY' |
1317 | 0 | 0 | $extra_checks{-'join'} and ref $attrs->{'from'} eq 'ARRAY' and @{$attrs->{'from'};} > 1 | |
2799 | 3 | 0 | 1 | @_ > 1 && ref $_[$#_] eq 'HASH' |
2801 | 0 | 2 | 2 | keys %$hash and my $row = $self->find($hash, $attrs) |
2968 | 25 | 0 | 5 | @_ > 1 && ref $_[$#_] eq 'HASH' |
2970 | 0 | 23 | 7 | keys %$hash and my $row = $self->find($hash, $attrs) |
3034 | 9 | 0 | 4 | @_ > 1 && ref $_[$#_] eq 'HASH' |
3097 | 0 | 0 | 2 | @_ > 1 && ref $_[$#_] eq 'HASH' |
3152 | 2 | 796 | 0 | defined $data and ref $data ne 'ARRAY' |
3436 | 192 | 24 | 0 | $attrs->{'from'} and ref $attrs->{'from'} ne 'ARRAY' |
3523 | 8924 | 36 | 0 | $attrs->{'collapse'} and $attrs->{'distinct'} |
3617 | 672 | 2 | 46 | $attrs->{'seen_join'} && keys %{$$attrs{'seen_join'};} |
3647 | 352 | 0 | 0 | defined $attrs->{'collapse'} and not $attrs->{'collapse'} |
3707 | 0 | 48 | 325 | $$t{-'alias'} and $$t{-'alias'} eq $alias |
3983 | 144 | 1 | 1 | $to_serialize->{'pager'} and ref $to_serialize->{'pager'}{'total_entries'} eq 'CODE' |
4009 | 1 | 0 | 56 | ref $self and my $rsrc = $self->result_source |
line | l | !l | condition |
---|---|---|---|
317 | 21 | 5 | $attrs->{'rows'} ||= 10 |
320 | 18353 | 14578 | $attrs->{'alias'} ||= 'me' |
1195 | 0 | 14 | $self->{'attrs'}{'offset'} || 0 |
1230 | 13 | 52 | $self->{'all_cache_position'} ||= 0 |
1380 | 4626 | 0 | \&DBIx::Class::Row::inflate_result || die(q[No ::Row::inflate_result() - can't happen]) |
1822 | 1305 | 285 | $self->_construct_results('fetch_all') || [] |
2461 | 0 | 9 | $main_proto ||= {%$rs_data, map({$_, $sl->{$_};} @$colnames)} |
2525 | 16 | 0 | $attrs->{'rows'} ||= 10 |
2641 | 2100 | 7 | $eqs->{$_} || '' |
3332 | 717 | 0 | ((shift())->{'attrs'} || {})->{'alias'} || 'me' |
3594 | 1582 | 7378 | $attrs->{'from'} ||= [{-'rsrc', $source, -'alias', $self->{'attrs'}{'alias'}, $self->{'attrs'}{'alias'}, $source->from}] |
3602 | 551 | 169 | delete $attrs->{'join'} || {} |
3657 | 36 | 316 | $attrs->{'seen_join'}{-'relation_chain_depth'} || 0 |
3662 | 529 | 0 | $j->[0]{-'relation_chain_depth'} || 0 |
3667 | 164 | 475 | $p->{$_} ||= {} |
3764 | 1 | 14 | $attrs->{'offset'} || 0 |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
336 | 1500 | 31431 | 0 | $attrs->{'result_class'} || $source->result_class |
440 | 1442 | 6998 | 1 | !defined($_[0]) || ref $_[0] ne '' |
457 | 0 | 0 | 1 | not defined $_[$i] or ref $_[$i] ne '' |
467 | 161 | 0 | 5552 | !defined($call_cond) || ref $call_cond eq 'HASH' && !keys(%$call_cond) || ref $call_cond eq 'ARRAY' && !@$call_cond |
508 | 265 | 0 | 67199 | exists $old_attrs->{$_} or exists $call_attrs->{$_} |
587 | 1514 | 161484 | 0 | $attrs->{$key} || () |
593 | 1636 | 599 | 80443 | @$as || @$sel |
620 | 12 | 9 | 0 | $dark_sel_dumper ||= do { require Data::Dumper::Concise; Data::Dumper::Concise::DumperObject()->Indent(0) } |
656 | 0 | 0 | 43490 | ref $_ eq 'ARRAY' && !@$_ || ref $_ eq 'HASH' && !keys(%$_) |
709 | 0 | 1 | 0 | $attr || () |
831 | 0 | 0 | 18 | $crosstable or ref $rel_cond ne 'HASH' |
881 | 1843 | 1140 | 0 | $ci ||= $self->result_source->columns_info |
1024 | 6940 | 3788 | 0 | $self->{'cursor'} ||= do { my $attrs = $self->_resolved_attrs; $self->result_source->storage->select($attrs->{'from'}, $attrs->{'select'}, $attrs->{'where'}, $attrs) } |
1270 | 1611 | 5216 | 2000 | $fetch_all || $attrs->{'order_by'} |
1326 | 1615 | 0 | 7203 | $did_fetch_all or @{[] unless $rows;} |
1328 | 72 | 4699 | 0 | $cursor ||= $self->cursor |
1341 | 293 | 0 | 130 | $aliastypes->{'multiplying'}{$sel_alias} or $aliastypes->{'premultiplied'}{$sel_alias} |
1369 | 3154 | 4632 | 0 | $self->{'_result_inflator'}{'cref'} ||= do { $self->throw_exception("Inflator $res_class does not provide an inflate_result() method") unless $res_class->can('inflate_result') } |
1439 | 51 | 0 | 172 | $self->{'_result_inflator'}{'is_hri'} || $self->{'_result_inflator'}{'is_core_row'} |
1488 | 184 | 26 | 56 | $did_fetch_all || !$attrs->{'collapse'} |
1740 | 0 | 0 | 3 | $1 || $2 || $3 |
1748 | 3 | 0 | 137 | $sel_index->{$_} || $_ |
1896 | 2 | 3 | 597 | defined $existing_group_by || ref $attrs->{'from'} ne 'ARRAY' || $self->_has_resolved_attr('rows', 'offset') |
1917 | 0 | 10 | 571 | ref $attrs->{'from'}[0] ne 'HASH' || ref $attrs->{'from'}[0]{$attrs->{'from'}[0]{-'alias'}} |
21 | 10 | 571 | $needs_subq ||= ref $attrs->{'from'}[0] ne 'HASH' || ref $attrs->{'from'}[0]{$attrs->{'from'}[0]{-'alias'}} | |
1933 | 31 | 0 | 0 | $rsrc->_identifying_column_set || $self->throw_exception(sprintf(q[Unable to perform complex resultset %s() without an identifying set of columns on source '%s'], $op, $rsrc->source_name)) |
1965 | 2 | 3 | 5 | $existing_group_by or keys %{{} unless $join_classifications->{'multiplying'};} |
2300 | 3 | 1 | 102952 | $_->{'is_rel'} ||= $$rel_info{$_->{'name'}} && (ref $data->[$i][$_->{'pos'}] eq 'ARRAY' || ref $data->[$i][$_->{'pos'}] eq 'HASH' || defined &blessed($data->[$i][$_->{'pos'}]) && $data->[$i][$_->{'pos'}]->isa('DBIx::Class::Row')) && 1 |
2332 | 0 | 1 | 7 | $$colinfo{$colnames->[$_]}{'seen_null'} ||= !defined($data->[$i][$_]) |
2339 | 127 | 97 | 0 | $colinfo->{$_} ||= do { $self->throw_exception("Column '${_}' must be present in supplied explicit column list") if $data_start; push @$colnames, $_; +{'pos', $#$colnames, 'name', $_} } |
2350 | 5 | 7 | 212 | $colinfo->{$_}{'is_rel'} ||= $rel_info->{$_} && (ref $data->[$i]{$_} eq 'ARRAY' || ref $data->[$i]{$_} eq 'HASH' || defined &blessed($data->[$i]{$_}) && $data->[$i]{$_}->isa('DBIx::Class::Row')) && 1 |
2381 | 0 | 1 | 31 | $colinfo->{$_}{'seen_null'} ||= !defined($data->[$i]{$_}) |
2480 | 1 | 9 | 0 | $main_proto_rs ||= $rsrc->resultset->search($main_proto) |
2647 | 2067 | 1613 | 8677 | $implied_data || () |
3436 | 0 | 9 | 207 | $attrs->{'from'} and ref $attrs->{'from'} ne 'ARRAY' or $self->_has_resolved_attr(@force_subq_attrs) |
3532 | 10084 | 96 | 16700 | $attrs->{$_} or $$attrs{"+$_"} |
3562 | 1445 | 651 | 35013 | ref $_ || $_ =~ /\./ |
3597 | 551 | 0 | 8409 | $attrs->{'join'} or $attrs->{'prefetch'} |
3629 | 2947 | 2 | 0 | $attrs->{$attr} || () |
3705 | 0 | 36 | 12 | $is_multi ||= !$$t{-'is_single'} |
3708 | 3 | 7 | 38 | $attrs->{'_main_source_premultiplied'} ||= $is_multi |
3712 | 7 | 0 | 318 | $attrs->{'_main_source_premultiplied'} or &List::Util::first(sub { not $_->[0]{-'is_single'}; } , @fromlist) |
3754 | 230 | 146 | 8583 | $attrs->{'collapse'} || grep({$_ =~ /\./;} @{$$attrs{'as'};}) |
3868 | 778 | 0 | 87 | $best_candidate->{'score'} == 0 or exists $seen_keys->{$import_key} |
3890 | 17012 | 185 | 0 | $hm ||= do { require Hash::Merge; my $hm = 'Hash::Merge'->new; $hm->specify_behavior({'SCALAR', {'SCALAR', sub { my($defl, $defr) = map({defined $_;} @_[0, 1]); if ($defl xor $defr) { return [$defl ? $_[0] : $_[1]]; } elsif (not $defl) { return []; } else { return [$_[0], $_[1]]; }; } , 'ARRAY', sub { return $_[1] unless defined $_[0]; '???'; return [$_[0], @{$_[1];}]; } , 'HASH', sub { return [] unless defined $_[0] or keys %{$_[1];}; return [$_[1]] unless defined $_[0]; return [$_[0]] unless keys %{$_[1];}; return [$_[0], $_[1]]; } }, 'ARRAY', {'SCALAR', sub { return $_[0] unless defined $_[1]; '???'; return [@{$_[0];}, $_[1]]; } , 'ARRAY', sub { return $_[1] unless my(@ret) = @{$_[0];}; return [@ret, @{$_[1];}]; my(%idx) = map({$_, 1;} @ret); push @ret, grep({not defined $idx{$_};} @{$_[1];}); \@ret; } , 'HASH', sub { return [$_[1]] unless @{$_[0];}; return $_[0] unless keys %{$_[1];}; '???'; return [@{$_[0];}, $_[1]]; } }, 'HASH', {'SCALAR', sub { return [] unless keys %{$_[0];} or defined $_[1]; return [$_[0]] unless defined $_[1]; return [$_[1]] unless keys %{$_[0];}; return [$_[0], $_[1]]; } , 'ARRAY', sub { return [] unless keys %{$_[0];} or @{$_[1];}; return [$_[0]] unless @{$_[1];}; return $_[1] unless keys %{$_[0];}; '???'; return [$_[0], @{$_[1];}]; } , 'HASH', sub { return [] unless keys %{$_[0];} or keys %{$_[1];}; return [$_[0]] unless keys %{$_[1];}; return [$_[1]] unless keys %{$_[0];}; return [$_[0]] if $_[0] eq $_[1]; return [$_[0], $_[1]]; } }}, 'DBIC_RS_ATTR_MERGER'); $hm } |
3918 | 0 | 0 | 867 | defined $_[0] or keys %{$_[1];} |
3946 | 0 | 0 | 0 | keys %{$_[0];} or defined $_[1] |
3952 | 0 | 0 | 0 | keys %{$_[0];} or @{$_[1];} |
3959 | 0 | 0 | 0 | keys %{$_[0];} or keys %{$_[1];} |
line | l&&r | l&&!r | !l&&r | !l&&!r | condition |
---|---|---|---|---|---|
659 | 3921 | 15412 | 1444 | 968 | defined $left xor defined $right |
3813 | 270 | 17 | 27 | 10 | defined $a xor defined $b |
3899 | 0 | 0 | 72 | 0 | $defl xor $defr |