Condition Coverage

blib/lib/DBI.pm
Criterion Covered Total %
condition 179 345 51.8


and 3 conditions

line !l l&&!r l&&r condition
597 94 5299 0 $attr and not ref $attr
613 0 5393 0 $attr and not ref $attr
629 5175 0 218 $ENV{'DBI_AUTOPROXY'} and $driver ne 'Proxy'
5175 34 184 $ENV{'DBI_AUTOPROXY'} and $driver ne 'Proxy' and $driver ne 'Sponge'
34 0 184 $ENV{'DBI_AUTOPROXY'} and $driver ne 'Proxy' and $driver ne 'Sponge' and $driver ne 'Switch'
667 1574 0 3815 defined $user and defined $pass
691 38 0 0 $$attr{'HandleError'} and $$attr{'HandleError'}($msg, $drh, $dbh)
710 0 0 28 @{"${rebless_class}::db::ISA";} && @{"${rebless_class}::st::ISA";}
779 0 0 226 $driver and @_ <= 3
830 0 0 214 $drh and ref $drh
0 0 214 $drh and ref $drh and not $@
917 0 0 0 $DbTypeSubclass and $DbTypeSubclass ne '1'
0 0 0 $DbTypeSubclass and $DbTypeSubclass ne '1' and ref $DbTypeSubclass ne 'CODE'
986 4 0 0 $missing_ok and $@ =~ /^Can't locate \Q$module.pm\E/
1043 0 0 0 $DBI::PurePerl and grep {-d "$_/auto/DBD/$driver";} @INC
1096 4 0 8 $rows++ and $lsep
1109 24 0 4 $logical and not $diff
1113 8 4 12 not $diff and $a_desc eq $b_desc
1127 8 8 44 defined $a and defined $b
1143 28 4 72 @a_chars and @b_chars
1265 215 0 3 $ENV{'DBI_PROFILE'} and not $DBI::PurePerl
1329 0 0 4 $drh and $inner
1412 124 0 0 DBI::looks_like_number($word) and $word <= 15
124 0 0 DBI::looks_like_number($word) and $word <= 15 and $word >= 0
1424 72 8 0 @unknown and ref $h ? $h->FETCH('Warn') : 1
1499 32 0 3114 $dbh and $dbh->FETCH('Active')
32 0 3114 $dbh and $dbh->FETCH('Active') and eval { do { $dbh->ping } }
1501 3112 0 2 $cb and $cb = $$cb{'connect_cached.reused'}
1509 30 0 2 $cb and my $new_cb = $$cb{'connect_cached.new'}
1516 30 0 2 $cb and my $conn_cb = $$cb{'connect_cached.connected'}
1542 150 8 40 ref $v and ref $v ne 'CODE'
1567 106 0 0 @id > 3 && ref $id[-1]
1611 8 0 0 defined $lp and defined $ls
1621 0 0 4 $lp and $lp eq $ls
0 4 0 $lp and $lp eq $ls and $lp eq q['] || $lp eq '"'
1665 4 104 8 not $slice and $slice = $$attr{'Columns'}
1697 0 0 0 0 < $max-- and $sth->fetch
1789 0 0 10 $temp and @$temp
1798 0 28 0 $dt_idx and $dt_idx != 1
1805 4 0 24 defined $data_type and $data_type != &DBI::SQL_ALL_TYPES()
1819 0 28 0 @ti and @{$ti[0];} != $idx_fields
1860 4 36 44 defined $value_array and ref $value_array
40 40 4 defined $value_array and ref $value_array and ref $value_array ne 'ARRAY'
1897 116 0 0 $fields <= 0 and not $$sth{'Active'}
1907 112 4 272 @_ and $idx < $fields
1923 4 40 4 $tuple_sts and ref $tuple_sts ne 'ARRAY'
1929 0 24 4 defined $NUM_OF_PARAMS and @array_of_arrays != $NUM_OF_PARAMS
1951 0 0 4 defined $NUM_OF_FIELDS and defined $NUM_OF_PARAMS
0 4 0 defined $NUM_OF_FIELDS and defined $NUM_OF_PARAMS and $NUM_OF_FIELDS != $NUM_OF_PARAMS
1964 0 28 0 defined $NUM_OF_PARAMS and $NUM_OF_PARAMS != $NUM_OF_PARAMS_given
2005 0 0 56 $rc >= 0 && $rc_total >= 0
2029 808 12 4 $max_rows and not $sth->FETCH('Active')
2038 764 8 16 $slice and @$slice
2040 4 12 40 $max_rows-- and $row = $sth->fetch
2044 4 4 8 $max_rows-- and $row = $sth->fetch
2054 16 4 12 $mode eq 'REF' and ref $$slice eq 'HASH'
2083 0 0 0 $max_rows-- and $sth->fetch
2099 96 0 4 not defined $index and DBI::looks_like_number($_)
96 0 4 not defined $index and DBI::looks_like_number($_) and $_ >= 1
0 0 4 not defined $index and DBI::looks_like_number($_) and $_ >= 1 and $_ <= $num_of_fields

or 2 conditions

line l !l condition
274 90 0 $PurePerl ||= 0
537 0 180 $@ || ''
0 180 $! || ''
559 0 0 $ENV{'DBI_DRIVER'} || ''
605 0 0 $ENV{'DBI_DSN'} || $ENV{'DBI_DBNAME'} || ''
619 14 5379 $2 || ''
774 0 0 $ENV{'DBI_DRIVER'} || ''
820 6 0 ${"${driver_class}::VERSION";} || 'undef'
829 0 214 $attr || {}
878 56 0 $topclass || 'DBI'
1051 0 0 $vers || '?'
1090 4 0 $maxlen ||= 35
1091 4 0 $lsep ||= "\n"
1092 4 0 $fh ||= \*STDOUT
1115 4 4 $diff ||= 'Strings contain the same sequence of characters'
1180 40 32 $a || ''
1195 0 0 $$attr{'dbi_loops'} || 5
1196 0 0 $$attr{'dbi_par'} || 1
1197 0 0 $$attr{'dbi_verb'} || 1
1198 0 0 $$attr{'dbi_meth'} || 'connect'
1288 0 2280 $$attr{'Err'} ||= \my($err)
1289 0 2280 $$attr{'Errstr'} ||= \my($errstr)
1290 0 2280 $$attr{'State'} ||= \my($state)
1490 3126 20 $$drh{'CachedKids'} ||= {}
1569 20 0 $dbh->get_info(29) || '"'
20 0 $dbh->get_info(41) || '.'
20 0 $dbh->get_info(114) || 1
86 20 $$dbh{'dbi_quote_identifier_cache'} ||= [$dbh->get_info(29) || '"', $dbh->get_info(41) || '.', $dbh->get_info(114) || 1]
1605 2 6 $$dbh{'dbi_literal_quote_cache'} ||= [{}, {}]
1613 4 4 $$ti{'LITERAL_PREFIX'} || ''
1614 4 4 $$ti{'LITERAL_SUFFIX'} || ''
1711 16 20 $$dbh{'CachedKids'} ||= {}
1719 8 4 $if_active ||= 0
1870 76 0 $$sth{'ParamArrays'} ||= {}
1896 116 0 $sth->FETCH('NUM_OF_FIELDS') || 0
1907 272 0 $sth->bind_col(++$idx, shift(), $attr) or return
1933 72 4 $sth->bind_param_array($_, $array_of_arrays[$_ - 1]) or return
2017 20 12 $tuples ||= '0E0'
2031 56 764 ref $slice || 'ARRAY'
2092 96 0 $$sth{'FetchHashKeyName'} || 'NAME'
2110 16 252 $$ref{$row[$_]} ||= {}
2122 0 0 $blocksize ||= 512

or 3 conditions

line l !l&&r !l&&!r condition
273 0 90 0 $@ or $ENV{'DBI_PUREPERL'} >= 2
559 2 0 0 $driver ||= $ENV{'DBI_DRIVER'} || ''
603 3146 2247 0 $connect_meth ||= $DBI::connect_via
605 5393 0 0 $dsn ||= $ENV{'DBI_DSN'} || $ENV{'DBI_DBNAME'} || ''
613 0 0 5393 ref $old_driver or $attr and not ref $attr
0 0 5393 ref $old_driver or $attr and not ref $attr or ref $pass
622 5393 0 0 $old_driver || $1 || $ENV{'DBI_DRIVER'}
660 5199 194 0 $DBI::installed_drh{$driver} || $class->install_driver($driver)
703 24 0 5307 $$apply{'RootClass'} || ($class ne 'DBI' ? $class : '')
726 0 0 0 $rebless_class || $class
774 226 0 0 $driver ||= $ENV{'DBI_DRIVER'} || ''
832 0 0 0 $@ ||= "$driver_class->driver didn't return a handle"
858 90 0 1392 UNIVERSAL::isa("${h_class}_mem", $mem_class) or $DBI::PurePerl
934 0 0 0 $driver eq 'ODBC' or $driver eq 'ADO'
1128 8 0 8 defined $a or defined $b
1195 0 0 0 my $loops ||= $$attr{'dbi_loops'} || 5
1196 0 0 0 my $par ||= $$attr{'dbi_par'} || 1
1197 0 0 0 my $verb ||= $$attr{'dbi_verb'} || 1
1198 0 0 0 my $meth ||= $$attr{'dbi_meth'} || 'connect'
1212 0 0 0 $drh->connect($dsn, $dbuser, $dbpass) || Carp::croak("connect failed: $DBI::errstr\n")
1265 3 0 215 $ENV{'DBI_PROFILE'} and not $DBI::PurePerl or $shared_profile
1616 4 0 4 $lp or $ls
1621 4 0 0 $lp eq q['] || $lp eq '"'
1797 28 0 0 $$idx_hash{'DATA_TYPE'} || $$idx_hash{'data_type'}
1904 12 0 104 not defined $_[0] or ref $_[0] eq 'HASH'
1910 4 4 108 @_ or $idx != $fields
1974 36 0 12 not $maxlen or @$ary > $maxlen