Condition Coverage

blib/lib/DBIx/QuickORM/Handle.pm
Criterion Covered Total %
condition 53 170 31.1


and 3 conditions

line !l l&&!r l&&r condition
66 0 0 252 builtin::blessed($con) and $con->isa("DBIx::QuickORM::Connection")
70 0 0 252 builtin::blessed($source) and $source->DOES("DBIx::QuickORM::Role::Source")
76 0 0 0 builtin::blessed($builder) and $builder->DOES("DBIx::QuickORM::Role::SQLBuilder")
81 0 26 0 $row and not $row->DOES("DBIx::QuickORM::Role::Row")
88 21 89 142 $self->_has_pk and not $self->{'where'}
141 55 0 0 builtin::blessed($where) and $where->can("sql_builder")
169 0 3 2 not ref $link and $link =~ /^(.+)\:(.+)$/
225 0 0 0 builtin::blessed($_) && $_->can('display')
233 13 0 0 $clone->{'source'} and not $flags{'allow_override'}
250 0 0 0 $clone->{'sql_builder'} and not $flags{'allow_override'}
257 0 0 0 $clone->{'connection'} and not $flags{'allow_override'}
264 4 0 0 $clone->{'row'} and not $flags{'allow_override'}
290 0 0 0 $clone->{'order_by'} and not $flags{'allow_override'}
300 0 0 0 $clone->{'where'} and not $flags{'allow_override'}
326 0 0 0 defined $clone->{'limit'} and not $flags{'allow_override'}
339 317 18 0 defined $clone->{$key} and not $flags{'allow_override'}
348 266 18 0 $set{'row'} and $set{'where'}
352 52 4 0 $clone->{'row'} and not $flags{'allow_override'}
356 18 0 0 $clone->{'where'} and not $flags{'allow_override'}
364 56 0 0 $clone->{'source'} and not $flags{'allow_override'}
503 0 0 7 @_ == 1 and ref $_[0] eq "ARRAY"
516 0 0 0 @_ == 1 and ref $_[0] eq "ARRAY"
576 28 0 347 $pk_fields && @$pk_fields
625 189 0 0 builtin::blessed($val) and $val->DOES("DBIx::QuickORM::Role::Type")
632 0 184 4 $quote_bin and $affinity eq "binary"
884 106 0 12 builtin::blessed($item) and $item->DOES("DBIx::QuickORM::Role::Row")
977 3 77 0 $has_pk and @$has_pk > 1
80 0 0 $has_pk and @$has_pk > 1 and not $has_ret
984 0 3 77 $has_ret and $has_pk
1055 0 0 4 $do_cache and $has_ret
0 0 4 $do_cache and $has_ret and $has_pk
1135 0 0 0 $changes and $pending
0 0 0 $changes and $pending and keys %$changes
0 0 0 $changes and $pending and keys %$changes and keys %$pending
1153 0 0 12 $pk_fields && @$pk_fields && $con->state_does_cache
1255 38 2 0 $self->{'data_only'} and not $self->is_sync
1281 5 1 0 $self->{'data_only'} and not $self->is_sync
1360 0 0 0 $cb and ref $cb eq "CODE"

or 2 conditions

line l !l condition
73 79 0 $con->default_internal_txn // 1
102 0 0 $pk_fields // []
439 0 0 $_[1] // 1
440 0 0 $_[1] // 1
518 0 0 $self->{'omit'} // []
707 5 0 fork // die("Could not fork: $!")
1360 0 0 $cb // "<UNDEF>"

or 3 conditions

line l !l&&r !l&&!r condition
73 173 79 0 $self->{'internal_transactions'} //= $con->default_internal_txn // 1
93 176 76 0 $self->{'fields'} //= $source->fields_to_fetch
100 0 0 0 $pk_fields or $omit
102 0 0 0 $seen{$_}++ || $omit && $omit->{$_}
127 0 0 0 $pk_fields //= $self->{'source'}->primary_key
394 0 0 0 $self->{'forked'} or $self->{'async'}
0 0 0 $self->{'forked'} or $self->{'async'} or $self->{'aside'}
474 18 166 0 $self->{'sql_builder_cache'} //= $self->_sql_builder
505 0 0 0 $self->{'fields'} // $self->{'source'}->fields_to_fetch
559 0 0 92 $_[0]{'forked'} || $_[0]{'async'} || $_[0]{'aside'}
584 160 0 0 $params{'on_ready'} or $params{'no_rows'}
588 0 0 160 $self->{'async'} or $self->{'aside'}
836 3 3 0 $row //= $self->where($where)->one
1096 4 0 0 $has_ret or $row