Branch Coverage

blib/lib/DBIx/Lite/ResultSet.pm
Criterion Covered Total %
branch 75 154 48.7


line true false branch
27 0 148 unless $self->{$_} = delete $params{$_}
37 0 74 if %params
54 11 1 $methname =~ /^(group_by|order_by|from|distinct)$/ ? :
55 0 0 if $methname eq "page" and $new_self->{'pager'}
81 135 227 /^(?:dbix_lite|table|cur_table)$/ ? :
90 15 0 @_ ? :
105 0 0 if grep {!ref($_) eq "SCALAR";} values %with
108 0 0 %with ? :
120 0 0 unless ($self->{'pager'})
134 13 0 if defined $where
153 0 4 if (not ref $where and my(@pk) = $self->{'table'}->pk)
179 0 24 ref $col eq 'ARRAY' ? :
182 17 0 unless ref $expr or $self->{'from'}
185 7 17 if (ref $expr eq "SCALAR")
190 0 24 $as ? :
215 4 1 unless ref $col2 or $col2 =~ /\./
220 1 4 ref $col2 ? :
225 1 3 $join->{'join_type'} eq 'inner' ? :
228 0 4 $table_alias ? :
233 0 23 if ($self->{'from'}) { }
240 0 23 if ($self->{'page'} and defined $self->{'rows_per_page'})
246 8 15 if ($self->{'order_by'})
248 0 8 unless ref $self->{'order_by'} eq "ARRAY"
260 0 23 $self->{'group_by'} ? :
0 23 $self->{'having'} ? :
8 15 $self->{'order_by'} ? :
0 23 $self->{'limit'} ? :
0 23 $self->{'offset'} ? :
0 23 $self->{'for'} ? :
263 3 20 if ($self->{'distinct'})
265 2 1 if (@{$self->{'distinct'};} > 0) { }
266 1 1 ref $_ ? :
274 0 23 if ($self->{'with'})
279 0 0 if (ref $$def eq 'ARRAY') { }
309 0 7 ref $col eq 'ARRAY' ? :
310 0 7 if (ref $expr eq 'SCALAR') { }
6 1 elsif ($expr eq "$cur_table_prefix.*") { }
319 1 6 if (not $have_scalar_ref || $have_star and my(@pk) = $self->{'cur_table'}->pk)
334 0 5 unless ref $insert_cols eq "HASH"
336 0 5 if (@{$self->{'joins'};})
340 0 5 if (not %$insert_cols and $self->{'dbix_lite'}->driver_name eq "Pg")
354 0 5 unless ref $insert_cols eq "HASH"
363 0 5 unless ref $insert_cols eq "HASH"
371 0 5 unless $res
374 0 5 if (my $pk = $self->{'table'}->autopk)
377 0 0 unless exists $insert_cols->{$pk}
387 0 1 unless ref $update_cols eq "HASH"
391 0 1 if ($self->{'cur_table'}{'name'} ne $self->{'table'}{'name'})
393 0 0 unless my(@pk) = $self->{'cur_table'}->pk
394 0 0 unless @pk == 1
415 0 1 unless ref $update_cols eq "HASH"
424 0 1 unless ref $update_cols eq "HASH"
437 0 0 unless ref $cols eq "HASH"
441 0 0 if (not $object = $self->find($cols))
453 0 0 if ($self->{'cur_table'}{'name'} ne $self->{'table'}{'name'})
455 0 0 unless my(@pk) = $self->{'cur_table'}->pk
456 0 0 unless @pk == 1
500 7 0 $row ? :
533 0 0 unless $self->{'sth'}
535 0 0 unless my $row = $self->{'sth'}->fetchrow_hashref
559 2 0 unless $self->{'sth'}
562 1 1 wantarray ? :
567 0 1 unless my $column_name = shift()
593 4 0 if ref $table_name ne "ARRAY"
599 0 4 if ($options->{'prevent_duplicates'})
601 0 0 if (defined $table_name->[1] and defined $join->{'table'}[1] and $table_name->[1] eq $join->{'table'}[1] or not defined $table_name->[1] and $table_name->[0] eq $join->{'table'}[0])
632 35 0 if ($table_name eq $self->{'table'}{'name'})
633 0 1 if ($op eq "select" or $op eq "update" and $driver_name =~ /^(?:MySQL|Pg)$/i or $op eq "delete" and $driver_name =~ /^Pg$/i)
648 1 0 if ($table_name eq $table_alias) { }
666 0 12 if (not defined $constructor and $package->can("new"))
672 1 11 if (defined $constructor) { }
673 0 1 if (ref $constructor eq 'CODE') { }
685 1 11 if (my $method = $self->{'cur_table'}{'class_storage'}) { }
686 0 1 unless $package->can($method)
689 0 1 if ref $storage ne "HASH"
704 0 0 unless my $self = shift()
709 0 0 if (my $rel = $self->{'cur_table'}{'has_many'}{$method})