Branch Coverage

blib/lib/DBIx/Abstract.pm
Criterion Covered Total %
branch 128 310 41.2


line true false branch
29 0 0 if ($driver eq 'Oracle')
35 0 0 if /^user$/
36 0 0 if /^password$/
37 0 0 if /^driver$/
41 0 0 if ($drivers{$driver}) { }
55 0 4 if (not defined $config) { }
2 2 elsif (ref $config eq 'HASH') { }
2 0 elsif (obj_does $config, 'DBI::db') { }
0 0 elsif (ref $config) { }
60 0 2 if ($$config{'dbh'}) { }
66 0 2 if (not defined $$config{'user'} and $$config{'password'})
69 2 0 if (exists $$config{'dsn'}) { }
109 2 2 if ($data_source) { }
0 2 elsif (not $dbh) { }
116 0 4 unless ($dbh)
118 2 2 if (ref $config eq 'HASH' and not $$config{'dbh'}) { }
138 2 2 if (exists $$config{'dsn'}) { }
0 2 elsif (ref $config eq 'HASH') { }
139 2 0 if defined $data_source
143 0 0 if defined $$config{$_}
146 0 4 if defined $user
147 0 4 if defined $pass
157 0 0 if ($self->connected)
159 0 0 unless $result
161 0 0 unless ($result)
164 0 0 if ($result) { }
165 0 0 if ($result == 1) { }
0 0 elsif ($connected) { }
177 0 0 if ($connected) { }
195 0 5 if ($$self{'dbh'}{'Driver'}{'Name'} eq 'mysqlPP') { }
196 0 0 if $$self{'dbh'}
199 5 0 if $$self{'dbh'}
201 0 5 if $@
209 1 0 if (not $self->connected and $$self{'connect'}{'data_source'})
216 0 1 unless ($dbh)
225 0 5 if $$self{'connect'}{$_}
234 1 5 if (exists $$self{'DESTRUCTION'} and $$self{'DESTRUCTION'})
238 4 1 if (not $$self{'ORIG'}) { }
239 1 3 if ($$self{'CLONES'})
241 0 0 if (ref $_) { }
242 0 0 if ($_->DESTROY == -1)
257 1 3 if ref $$self{'sth'}
260 2 2 if (not $$self{'connect'}{'dbh'} and defined $$self{'dbh'})
267 0 1 if (defined $_ and ref $_ and $self ne $_)
273 1 4 if ref $$self{'sth'}
294 1 0 if (not $$self{'ORIG'}) { }
318 0 666 if (ref $key)
323 666 0 if ($valid_opts{$key}) { }
0 0 elsif (exists $$self{'dbh'}{$key}) { }
332 6 660 if (defined $value)
333 6 0 if ($valid_opts{$key}) { }
338 0 0 if ($@)
343 6 0 $key ? :
0 6 $ret ? :
2 4 $value ? :
360 0 17 if ($self->opt('saveSQL'))
365 0 17 if ($self->opt('useCached')) { }
371 0 17 unless ($sth)
379 0 17 unless ($sth->execute(@bind_values))
396 0 10 if ($self->opt('delaymods')) { }
397 0 0 if ($$self{'ORIG'})
409 0 4 if (ref $sql eq 'HASH')
429 0 275 if $level + 0 ne $level
430 0 275 if ($#log == -1)
433 22 253 if ($self->opt('logfile') and $self->opt('loglevel') >= $level)
435 22 0 if (open LOG, '>>' . $self->opt('logfile'))
447 0 17 unless (defined $sql)
452 17 0 if ($self->opt('logfile') and $self->opt('loglevel') >= $level)
454 17 0 if (open LOG, '>>' . $self->opt('logfile'))
458 0 17 if @bind_copy
470 0 0 if ($$self{'ORIG'})
501 1 31 if ($int > 20)
509 26 5 if (ref $where eq 'ARRAY') { }
5 0 elsif (ref $where eq 'HASH') { }
512 27 49 if (ref $_ eq 'HASH') { }
23 26 elsif (ref $_ eq 'ARRAY') { }
515 27 0 if $moreres
521 3 0 if $moreres
541 6 5 $int ? :
542 11 0 if ($result) { }
543 6 5 $int ? :
558 0 32 if ($ret)
560 27 5 if (ref $$where{$_} eq 'ARRAY') { }
563 0 27 if (ref $$where{$_}[1] eq 'SCALAR') { }
573 5 0 if (defined $$where{$_}) { }
575 0 5 if (ref $$where{$_} eq 'SCALAR') { }
588 32 0 if ($ret ne '()') { }
602 0 1 if (ref $table)
607 0 1 unless $table
624 0 8 if (ref $table)
629 0 8 unless $table
632 8 0 if (ref $fields eq 'HASH') { }
0 0 elsif (not ref $fields and $fields) { }
635 0 8 unless @keys
638 16 8 if ($i)
643 16 8 if ($i)
644 24 0 if (defined $values[$i]) { }
645 0 24 if (ref $values[$i] eq 'SCALAR') { }
0 24 elsif (ref $values[$i] eq 'ARRAY') { }
681 0 0 if (ref $table)
686 0 0 unless $table
689 0 0 if (ref $fields eq 'HASH') { }
0 0 elsif (not ref $fields and $fields) { }
692 0 0 unless $#keys > -1
695 0 0 if ($i)
700 0 0 if ($i)
701 0 0 if (defined $values[$i]) { }
702 0 0 if (ref $values[$i] eq 'SCALAR') { }
0 0 elsif (ref $values[$i] eq 'ARRAY') { }
740 0 1 if (ref $table)
748 0 1 unless $table
751 1 0 if (ref $fields eq 'HASH') { }
0 0 elsif (not ref $fields and $fields) { }
754 0 1 unless $#keys > -1
756 1 1 if ($i)
758 2 0 if (defined $values[$i]) { }
759 0 2 if (ref $values[$i] eq 'SCALAR') { }
801 1 3 if (ref $fields eq 'HASH')
817 0 4 if (ref $fields eq 'ARRAY') { }
823 0 4 if (ref $table eq 'ARRAY') { }
824 0 0 if ($#$table > -1)
829 4 0 if $table
833 4 0 if (defined $where)
835 0 3 unless ($addsql)
840 1 2 if ($join)
841 0 1 unless (ref $join)
844 1 0 if ($where) { }
851 1 0 if $#$where > -1
856 3 0 if (defined $where)
861 0 3 if (ref $group eq 'ARRAY') { }
1 2 elsif ($group) { }
862 0 0 if ($#$group > -1)
870 0 3 if (ref $order eq 'ARRAY') { }
0 3 elsif ($order) { }
871 0 0 if ($#$order > -1)
879 0 3 if ($extra)
899 0 0 unless $result
909 0 0 unless $result
919 0 0 unless $result
934 0 0 unless $result
938 0 0 if ($#$_ > 1) { }
954 0 0 unless (defined $row)
964 0 0 if ($result) { }
976 0 0 unless (defined $row)
986 2 5 if ($#row == -1)
1001 0 0 if (ref $pos)
1004 0 0 if ($$self{'connect'}{'driver'} eq 'mysql' or $$self{'connect'}{'driver'} eq 'msql') { }
1024 0 0 if (ref $class)
1025 0 0 if ($self and $$self{'dbh'}) { }
1036 0 0 if (ref $class)
1037 0 0 if ($self and $$self{'dbh'}) { }
1100 0 0 if ($DBHVALIDMETHODS =~ /\b$method\b/) { }
0 0 elsif ($STHVALIDMETHODS =~ /\b$method\b/) { }
1102 0 0 if $$self{'dbh'}
1108 0 0 if $$self{'sth'}