Branch Coverage

blib/lib/RapidApp/Module/StorCmp/Role/DbicLnk.pm
Criterion Covered Total %
branch 91 530 17.1


line true false branch
132 0 8 unless my $c = 'RapidApp'->active_request_context
133 8 0 unless my $rst_qry = $c->req->params->{$self->_rst_qry_param}
165 0 0 if ($p->{'rs_path'} and $p->{'rs_method'})
166 0 0 unless my $Module = $self->get_Module($p->{'rs_path'})
175 0 8 if (my $rst_qry = $self->_retr_rst_qry)
180 0 8 if $self->can('ResultSet')
186 0 0 if ($key =~ /\./) { }
190 0 0 if $self->ResultSource->has_relationship($rel)
212 0 0 if $self->can('CreateData')
214 0 0 if (my $lock_keys = $self->_get_rs_lock_keys)
215 0 0 unless $data
248 26 66 if defined $self->updatable_colspec
249 14 78 if defined $self->creatable_colspec
250 0 92 if defined $self->always_fetch_colspec
252 92 0 if (not exists $opt{'cache'} and $self->app->rapidApp->use_cache)
258 92 0 if $self->natural_column_order
289 0 10 unless ref $data eq 'HASH'
293 10 0 defined $data->{$_} ? :
308 0 6 if ($val eq 'undef') { }
330 8 0 unless $self->allow_restful_queries
334 0 0 $stash_args ? :
347 0 0 if $rargs[0] and $rargs[1] and $rargs[1] eq 'store' and $crudI{$rargs[0]}
352 0 0 if (scalar @args > 2)
353 0 0 if (lc $rargs[1] eq 'rel' or lc $rargs[1] eq 'rs')
361 0 0 if (scalar @args > 1)
363 0 0 if (scalar @args > 0 and $self->ResultSource->has_column($newargs[0])) { }
373 0 0 unless defined $args[0]
378 0 0 if exists $self->modules_obj->{$key} or $self->has_action($key)
381 0 0 unless (defined $val)
388 0 0 if scalar @args > 2
391 0 0 if $rel
394 0 0 $key eq $self->record_pk ? :
404 0 0 if ($key eq $self->record_pk) { }
423 0 0 unless $count
426 0 0 if $count > 1
445 0 0 unless $Row->has_relationship($rel)
446 0 0 wantarray ? :
462 0 0 if ($RelObj->isa('DBIx::Class::ResultSet')) { }
464 0 0 unless my $url = &try(sub { $class->TableSpec_get_conf('open_url_multi'); } )
477 0 0 if (my $rev_rel_info = $Row->result_source->reverse_relationship_info($rel))
479 0 0 if ($info and $info->{'cond'})
484 0 0 if (scalar @pks == 1 and $cdta->{'self'} and $cdta->{'foreign'} and $pks[0] eq $cdta->{'foreign'})
508 0 0 if ($url) { }
532 0 24 unless my $c = 'RapidApp'->active_request_context
533 24 0 unless my $lk_enc = $c->req->params->{'rs_lock_keys'}
570 0 92 if $self->does('RapidApp::Role::DbicLink')
572 45 47 if $self->allow_restful_queries
603 92 0 $self->allow_set_quicksearch_mode ? :
612 0 92 if $self->onBUILD
618 0 0 ref $_[0] eq 'HASH' ? :
621 0 0 if ref $colspec eq 'ARRAY'
632 0 0 ref $_[0] eq 'HASH' ? :
635 0 0 if ref $colspec eq 'ARRAY'
644 0 0 ref $_[0] eq 'ARRAY' ? :
653 0 0 ref $_[0] eq 'ARRAY' ? :
655 0 0 unless @colspecs > 0
665 0 0 ref $_[0] eq 'HASH' ? :
668 0 0 if ref $colspec eq 'ARRAY'
727 0 8 if $self->single_record_fetch
768 8 0 unless $self->single_record_fetch
778 8 0 unless $params and $params->{'first_records_cond'}
781 0 0 unless keys %$cond > 0
819 8 0 if (my $sels = $Rs->{'attrs'}{'select'})
826 8 0 $want ? :
834 0 0 if ($LRL == 80 and "$err" =~ /or LongReadLen too small/) { }
841 0 0 $want ? :
848 8 0 $want ? :
854 29 0 if (ref $h || '') eq 'HASH' and exists $h->{''} and exists $h->{'-as'}
860 29 17 $self->_is_special_AS_hash($select) ? :
886 0 8 if $self->single_record_fetch
887 0 8 if $params->{'no_total_count'}
891 0 8 if $self->cache_total_count and exists $params->{'cached_total_count'}
900 0 8 if (my $col = $self->_count_col)
947 0 0 unless ($opts{'no_strip_colums'})
954 0 0 unless ref $cur_select->[$i]
966 0 0 unless $opts{'no_subselect'}
968 0 0 if $opts{'count_literal'}
1031 8 0 if $self->c->stash->{'query_count_time'}
1089 8 0 unless $params and $params->{'column_summaries'}
1092 0 0 unless keys %$sums > 0
1096 0 0 if ($req_cols and @$req_cols > 0)
1110 0 0 if ($sum)
1114 0 0 if ($sel) { }
1125 0 0 if (scalar @$select > 0) { }
1126 0 0 unless my $agg = $self->_chain_search_rs($Rs, undef, {'rows', 1, 'page', undef, 'order_by', undef, 'select', $select, 'as', $as, 'result_class', 'DBIx::Class::ResultClass::HashRefInflator'})->first
1150 0 0 if ($func =~ /^\&(.+)$/) { }
1153 0 0 unless ($func)
1154 0 0 if exists $self->{'_get_col_summary_select_msg'}
1170 0 0 if ref $col and ref $col eq 'HASH' and scalar keys %$col == 2 and $col->{''} and $col->{'-as'}
1173 0 0 if (ref $col)
1174 0 0 if ref $col eq 'REF'
1175 0 0 if ref $col eq 'ARRAY'
1176 0 0 unless ref $col
1184 0 0 if $func =~ /^[a-zA-Z]+$/
1186 0 0 if ref $col and ref $col eq 'SCALAR'
1226 17 29 unless (ref $dbic_name)
1231 8 9 unless $used_aliases->{$alias}
1232 0 17 unless $alias eq 'me'
1235 0 17 if $count > 1
1246 0 0 $params->{'dir'} eq 'DESC' ? :
0 8 $params->{'sort'} ? :
0 8 defined $params->{'sorters'} ? :
1256 0 0 ref $sort_name ? :
1269 0 0 ref $attr->{'order_by'} eq 'ARRAY' ? :
0 0 ref $attr->{'order_by'} eq 'HASH' ? :
1313 8 0 if ref $params eq 'HASH'
1315 0 8 unless ref $columns eq 'ARRAY'
1324 0 8 unless (@$columns > 0)
1341 0 8 if $params->{'sort'}
1349 0 54 unless my $req = $self->columns->{$col}->required_fetch_columns
1356 0 76 if $column->{'no_fetch'}
1373 5 3 unless my $id_in = $self->param_decodeIf($params->{'id_in'})
1375 0 3 if ref $id_in and !ref($id_in) eq 'ARRAY'
1376 0 3 unless ref $id_in
1406 0 8 if (ref $attr->{'select'} eq 'ARRAY')
1409 0 0 if (ref $sel eq 'ARRAY' and scalar @$sel == 1 and ref $sel->[0] eq 'ARRAY') { }
1431 0 8 if defined $params->{'qs_query'} and $params->{'qs_query'} eq ''
1432 8 0 unless my $query = $params->{'qs_query'}
1435 0 0 unless @$fields > 0
1440 0 0 unless $self->allow_set_quicksearch_mode
1446 0 0 unless my $cond = $self->_resolve_quicksearch_condition($field, $query, {'mode', $mode, 'joinref', $attr->{'join'}})
1453 0 0 unless (scalar @search > 0)
1465 0 0 unless my $cnf = $self->get_column($field)
1466 0 0 unless my $join = $opt->{'joinref'}
1467 0 0 unless my $mode = $opt->{'mode'}
1473 0 0 if exists $cnf->{'quick_search_exact_only'} and jstrue($cnf->{'quick_search_exact_only'})
1482 0 0 if ($dtype eq 'integer') { }
0 0 elsif ($dtype eq 'number') { }
1483 0 0 unless $query =~ /^[+-]*[0-9]+$/
1488 0 0 unless &looks_like_number($query)
1495 0 0 if ($enumVh)
1496 0 0 unless $enumVh->{$query}
1502 0 0 $strf ? :
1505 0 0 $mode eq 'like' ? :
1524 8 0 unless scalar @$multifilter > 0
1534 0 0 unless $needs_having
1587 0 0 unless &try(sub { $_->{'-as'}; } )
1603 0 0 if exists $needed_selects{$cur_select->[$i]}
1605 0 0 if (ref $cur_select->[$i])
1627 0 0 defined $_ && exists $map{$_} ? :
0 0 ref $_ eq 'HASH' ? :
1643 0 0 if ($virtual_where) { }
1671 0 0 unless my $val = $el->{''}
1674 0 0 ref $val eq 'ARRAY' ? :
1675 0 0 ref $val ? :
1683 0 0 unless $val and ref $val
1685 0 0 if (ref $val eq 'ARRAY') { }
0 0 elsif (ref $val eq 'HASH') { }
1691 0 0 if (scalar keys %$val == 1)
1699 0 0 if $remap->{$k}
1756 8 19 if $attr->{'join'}
1765 8 0 if ($val and ref $val eq 'HASH') { }
1767 0 8 scalar keys %$val > 0 ? :
1781 0 0 if ref $multi eq 'ARRAY'
1783 0 0 unless ref $multi eq 'HASH' and keys %$multi == 1
1789 0 0 if ($f eq '-and' or $f eq '-or')
1790 0 0 unless ref $cond eq 'ARRAY'
1799 0 0 ref $cond eq 'HASH' && exists $cond->{'is'} ? :
1803 0 0 if $is_cond
1806 0 0 unless my $dbfName = $self->resolve_dbic_colname($f, $join)
1814 0 0 if ref $dbfName eq 'HASH' and exists $dbfName->{'-as'} and exists $dbfName->{''}
1852 0 0 $mf_op_alias{$op} ? :
1861 0 0 $strf ? :
1865 0 0 if ($op eq 'contains') { }
0 0 elsif ($op eq 'starts_with') { }
0 0 elsif ($op eq 'ends_with') { }
0 0 elsif ($op eq 'not_contain') { }
0 0 elsif ($op eq 'not_starts_with') { }
0 0 elsif ($op eq 'not_ends_with') { }
0 0 elsif ($op eq 'is_null') { }
0 0 elsif ($op eq 'is_empty') { }
0 0 elsif ($op eq 'not_null') { }
0 0 elsif ($op eq 'not_empty') { }
0 0 elsif ($op eq 'null_or_empty') { }
0 0 elsif ($op eq 'not_null_or_empty') { }
0 0 elsif ($op eq 'null_empty_status') { }
1948 0 0 (ref $dbfName || '') eq 'HASH' && $dbfName->{'-as'} && $dbfName->{''} ? :
1960 0 0 unless keys %$cond == 1
1967 0 0 if $column->{'multifilter_type'} and $column->{'multifilter_type'} =~ /^date/
1986 0 0 if ($kw eq 'now') { }
0 0 elsif ($kw eq 'thisminute') { }
0 0 elsif ($kw eq 'thishour') { }
0 0 elsif ($kw eq 'thisday') { }
0 0 elsif ($kw eq 'today') { }
0 0 elsif ($kw eq 'thisweek') { }
0 0 elsif ($kw eq 'thismonth') { }
0 0 elsif ($kw eq 'thisquarter') { }
0 0 elsif ($kw eq 'thisyear') { }
2057 0 0 if ($month > 0 and $month <= 3) { }
0 0 elsif ($month > 3 and $month <= 6) { }
0 0 elsif ($month > 6 and $month <= 9) { }
2107 0 0 if $dt
2112 0 0 if (scalar @parts > 1 and length $parts[0] > 0) { }
2126 0 0 unless $dt and $sign eq '-' || $sign eq '+'
2143 0 0 if ($unit eq 'w' or $unit eq 'week' or $unit eq 'weeks' or $unit eq 'wk' or $unit eq 'wks')
2149 0 0 if ($unit eq 'q' or $unit eq 'quarter' or $unit eq 'quarters' or $unit eq 'qtr' or $unit eq 'qtrs')
2154 0 0 if $num and $unit
2157 0 0 unless @parts > 0
2159 0 0 $sign eq '-' ? :
2164 0 0 unless my $interval = $$map{$part->{'unit'}}
2165 0 0 unless my $newDt = $dt->$method($interval, $part->{'num'})
2170 0 0 unless $count
2278 0 3 if ($Row->isa('DBIx::Class::ResultSet'))
2281 0 0 unless $verbose
2309 3 0 if $declared_columns
2316 3 0 if ref $params eq 'HASH'
2341 0 3 unless defined $pkVal
2342 0 3 unless my $BaseRow = $Rs->search($self->record_pk_cond($pkVal))->next
2351 3 0 if ($limit_columns)
2356 3 0 if $_ ne $self->record_pk
2372 0 3 unless "$pkVal" eq "$newPkVal"
2386 0 3 if exists $self->c->req->params->{$self->_rst_qry_param}
2402 0 3 unless $supplied_count == $returned_count
2418 3 0 unless my $oldPkVal = $keyval_changes{$newPkVal}
2436 0 3 $lock_keys ? :
2439 3 0 if (my $chg = $upd->{'change'}) { }
0 0 elsif ($upd->{'rel_update'}) { }
2466 0 0 unless my $info = $Source->relationship_info($colname)
2467 0 0 unless my $m2m_attrs = $info->{'attrs'}{'m2m_attrs'}
2471 0 0 unless $UpdRow->can($method)
2482 0 0 if $self->c->debug
2505 0 3 if $Row eq ' '
2508 0 3 $rel ? :
2521 0 0 if ($rel and not $UpdRow and $ucrls{$rel} and $_{'depth'} == 1)
2524 0 0 if $self->c->debug
2541 0 3 $alias->{$_} ? :
2544 0 3 unless (defined $UpdRow)
2545 0 0 if $self->c->debug
2552 0 0 if ($rel)
2563 0 3 if ($UpdRow->isa('DBIx::Class::ResultSet'))
2564 0 0 if $self->c->debug
2576 0 3 if keys %$relcol_updates > 0
2582 3 0 unless ($ignore_current)
2589 0 3 unless exists $current{$col}
2590 0 0 unless defined $update{$col} or defined $current{$col}
2591 0 3 if $update{$col} eq $current{$col}
2596 3 0 if (keys %$change > 0) { }
2604 0 3 if $self->c->debug
2624 0 0 unless my $rel_TableSpec = $TableSpec->related_TableSpec->{$rel}
2632 0 0 $alias->{$_} ? :
2639 0 0 if $Source->has_column($col)
2640 0 0 unless my $info = $Source->relationship_info($col)
2641 0 0 unless my $m2m_attrs = $info->{'attrs'}{'m2m_attrs'}
2661 0 0 if ref $params eq 'HASH'
2683 0 0 if $_ ne $self->record_pk
2695 0 0 unless defined $create_hash->{$rel}
2708 0 0 if (keys %$create > 0) { }
2718 0 0 if $self->c->debug
2735 0 0 if exists $self->c->req->params->{$self->_rst_qry_param}
2744 0 0 unless $newdata and $newdata->{'results'}
2760 0 0 unless ref $params
2769 0 0 unless my $Row = $Rs->search($self->record_pk_cond($pk))->next
2773 0 0 unless $rel =~ /^[a-zA-Z0-9\-\_]+$/ and $Row->can($rel)
2779 0 0 if $self->c->debug
2780 0 0 $relObj->can('delete_all') ? :
2782 0 0 if $self->c->debug
2802 0 0 if ref($exception) =~ /^RapidApp\:\:Responder/
2809 0 0 unless scalar @parts > 1
2823 0 0 $msg ? :
2846 0 0 if $msg =~ /Bizarre copy of HASH in aassign/
2851 0 0 unless scalar @parts > 1
2867 37 14 unless defined $param
2869 3 11 if ref $param
2912 0 0 unless $editSpec->{'count'} == $total
2914 0 0 if $_ ne $self->record_pk