Condition Coverage

File:blib/lib/Database/Abstraction.pm
Coverage:65.3%

line%coveragecondition
379100
ABdec
0X0
100
111
$$params{"expires_in"} and not $$params{"cache_duration"}
385100
Adec
00
11
$defaults{"cache_duration"} ||= "1 hour"
40733
ABdec
0X0
100
111
scalar @_ == 1 and ref $_[0] eq "HASH"
67
ABdec
0X0
100
111
scalar @_ == 0 and ref $pkg eq "HASH"
591100
ABdec
0X0
100
111
scalar @_ == 1 and not ref $_[0]
62833
ABdec
0X0
100
111
defined $args{"logger"} and not &Scalar::Util::blessed($args{"logger"})
63260
ABCDdec
00000
00011
001X1
01XX1
1XXX1
$args{"dsn"} or $defaults{"dsn"} or $args{"url"} or $defaults{"url"}
633100
ABdec
000
011
1X1
$args{"directory"} or $defaults{"directory"}
63767
ABdec
000
011
1X1
$args{"host"} // $defaults{"host"}
638100
ABdec
0X0
100
111
$given_host and not $class->_is_local_host($given_host)
63967
ABdec
000
011
1X1
$args{'directory'} || $defaults{'directory'}
33
ABdec
000
011
1X1
$args{'directory'} || $defaults{'directory'}
71333
ABdec
0X0
100
111
$c and $c->isa(__PACKAGE__)
71867
ABdec
000
011
1X1
$$params{"sep_char"} ||= $$self{"sep_char"} ? $$self{"sep_char"} : "!"
71967
ABdec
000
011
1X1
$$params{'max_slurp_size'} || $$self{'max_slurp_size'}
72133
ABdec
000
011
1X1
$$self{'table'} || ref $self
73233
ABdec
000
011
1X1
$$self{'dsn'} || $defaults{'dsn'}
76333
ABdec
000
011
1X1
$$self{'url'} || $defaults{'url'}
7670
ABdec
000
011
1X1
$$self{"ua"} // "LWP::UserAgent::Cached"->new("timeout", 30, "agent", 'Database::Abstraction/' . $VERSION)
7760
Adec
00
11
($$self{"html_table_index"} // $defaults{"html_table_index"}) // 0
0
ABdec
000
011
1X1
$$self{"html_table_index"} // $defaults{"html_table_index"}
8120
ABdec
0X0
100
111
$$self{"data"} and ref $$self{"data"} eq "HASH"
82367
ABdec
000
011
1X1
$$self{'dbname'} || $defaults{'dbname'} || $class_stem
82533
ABdec
0X0
100
111
$dbname =~ /\A[a-zA-Z0-9_.-]+\z/ and not $dbname =~ /\.\./
83233
ABdec
000
011
1X1
$$self{'host'} || $defaults{'host'}
8350
ABdec
000
011
1X1
$$self{'directory'} || $defaults{'directory'}
8380
ABdec
000
011
1X1
$$self{'directory'} || $defaults{'directory'}
8450
ABdec
0X0
100
111
defined $content and length $content
85633
ABdec
000
011
1X1
$$self{'directory'} || $defaults{'directory'}
87233
ABdec
0X0
100
111
-r $db_candidate and $self->_is_deep_db($db_candidate)
9060
Adec
00
11
&Scalar::Util::reftype($row) // ""
9180
Adec
00
11
&Scalar::Util::reftype($row) // ""
96967
ABdec
000
011
1X1
$$self{'filename'} || $defaults{'filename'}
97033
ABdec
0X0
100
111
$filename =~ /\A[a-zA-Z0-9_.-]+\z/ and not $filename =~ /\.\./
97567
ABdec
0X0
100
111
defined $slurp_file and -r $slurp_file
1032100
ABdec
0X0
100
111
-s $slurp_file <= $max_slurp_size and not $$params{"column_names"}
10960
ABdec
0X0
100
111
ref $xml eq "HASH" and not $$self{"no_entry"}
114167
ABdec
0X0
100
111
$$self{"data"} and ref $$self{"data"} eq "HASH"
1200100
Adec
00
11
Params::Get::get_params(undef, \@_) // {}
1212100
Adec
00
11
$params //= {}
1219100
ABCdec
0XX0
10X0
1100
1111
not $join_clause and $$self{"data"} and not $self->_has_complex_criteria($params)
122050
ABCdec
0XX0
10X0
1100
1111
scalar keys %{$params;} == 1 and defined $$params{"entry"} and not $$self{"no_entry"}
1257100
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
130767
ABdec
0X0
100
111
$rc and not $$self{"no_fixate"}
135250
Adec
00
11
Params::Get::get_params(undef, \@_) // {}
1360100
Adec
00
11
$params //= {}
136675
ABCdec
0XX0
10X0
1100
1111
not $join_clause and $$self{"data"} and not $self->_has_complex_criteria($params)
136750
ABCdec
0XX0
10X0
1100
1111
scalar keys %{$params;} == 1 and defined $$params{"entry"} and not $$self{"no_entry"}
1397100
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
1503100
Adec
00
11
Params::Get::get_params(undef, \@_) // {}
151133
ABdec
000
011
1X1
$self->_has_complex_criteria($params) || $$self{$table}
50
ABCdec
0XX0
10X0
1100
1111
scalar keys %{$params;} == 1 and defined $$params{"entry"} and not $$self{"no_entry"}
151967
ABdec
0X0
100
111
exists $$self{'data'}{$$params{'entry'}} && $$self{'data'}{$$params{'entry'}}
1541100
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
163767
ABCDEdec
0XXXX0
10XXX0
110XX0
1110X0
111100
111111
$$self{"data"} and not $$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $$params{"entry"} and not $self->_has_complex_criteria($params)
164625
ABCdec
0XX0
10X0
1100
1111
not $$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $$params{"entry"}
165020
ABCDdec
0XXX0
10XX0
110X0
11100
11111
$$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $id and defined $$params{$id}
165933
ABdec
000
011
1X1
delete $params->{'table'} // $table
1667100
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
185233
ABdec
0X0
100
111
ref $data eq "ARRAY" and @{$data;}
193033
ABdec
0X0
100
111
ref $data eq "ARRAY" and @{$data;}
194750
Adec
00
11
$$self{$table}{"Driver"}{"Name"} // ""
206767
ABdec
0X0
100
111
exists $self->{'auto_load'} and not $$self{"auto_load"}
208133
ABdec
0X0
100
111
$$self{"no_entry"} and not $$self{"berkeley"}
2097100
ABdec
000
011
1X1
delete $params{'distinct'} || delete $params{'unique'}
2099100
ABdec
0X0
100
111
wantarray and not $distinct
2100100
ABdec
0X0
100
111
scalar keys %params == 0 and my $data = $$self{"data"}
210967
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
2120100
ABdec
0X0
100
111
scalar keys %params == 1 and defined(my $key = $params{"entry"})
212750
ABCdec
0XX0
10X0
1100
1111
exists $row->{$key} and defined $$row{$key} and $$row{$key} eq $value
213967
ABdec
0X0
100
111
exists $data->{$key} and defined(my $hash = $$data{$key})
217675
ABCdec
0XX0
10X0
1100
1111
exists $row->{$key} and defined $$row{$key} and $$row{$key} eq $value
2188100
ABdec
0X0
100
111
$$self{"type"} eq "CSV" and not $$self{"no_entry"}
221767
ABdec
0X0
100
111
scalar @args and $args[0]
224133
ABdec
000
011
1X1
$$self{$table}->prepare_cached($query) || croak($query)
225133
ABdec
0X0
100
111
scalar @rc and not $$self{"no_fixate"}
226533
ABdec
0X0
100
111
defined $^V and $^V ge "v5.14.0"
227867
ABdec
0X0
100
111
defined $temp_path and -f $temp_path
228367
ABdec
000
011
1X1
$$self{'table'} || ref $self
2315100
Adec
00
11
$$j{"type"} // "INNER"
2333100
ABdec
000
011
1X1
exists $params->{'-or'} or exists $params->{'-and'}
237750
Adec
00
11
$params //= {}
2388100
ABdec
000
011
1X1
defined $or_list or defined $and_list
2454100
ABdec
000
011
1X1
$op eq "-in" or $op eq "-not_in"
250950
Adec
00
11
$params //= {}
2574100
ABdec
0X0
100
111
index($lc_pat, "%") == -1 and index($lc_pat, "_") == -1
2584100
ABdec
0X0
100
111
$first_pct == 0 and $last_pct == 0
258767
ABdec
0X0
100
111
$str_len >= $sfx_len && substr($lc_str, $str_len - $sfx_len) eq $sfx
2592100
ABdec
0X0
100
111
$last_pct == $pat_len - 1 and $first_pct == $pat_len - 1
260175
ABCdec
0XX0
10X0
1100
1111
$first_pct == 0 and $last_pct == $pat_len - 1 and $pat_len >= 3
2625100
ABdec
000
011
1X1
$$prev[$j] || $$curr[$j - 1]
2629100
ABdec
0X0
100
111
$$prev[$j - 1] && ($pc eq '_' || $pc eq substr($lc_str, $j - 1, 1))
2646100
ABdec
0X0
100
111
defined $row_val and grep {$row_val eq $_;} @{$operand;}
264867
ABdec
0X0
100
111
defined $row_val and grep {$row_val eq $_;} @{$operand;}
2650100
ABCdec
0XX0
10X0
1100
1111
defined $row_val and $row_val >= $$operand[0] and $row_val <= $$operand[1]
2661100
ABdec
0X0
100
111
defined $row_val and $row_val ne $operand
266467
ABdec
0X0
100
111
defined $row_val and $row_val > $operand
266667
ABdec
0X0
100
111
defined $row_val and $row_val < $operand
266867
ABdec
0X0
100
111
defined $row_val and $row_val >= $operand
267067
ABdec
0X0
100
111
defined $row_val and $row_val <= $operand
2676100
ABdec
0X0
100
111
defined $row_val && defined $crit_val
100
ABdec
000
011
1X1
defined $row_val || defined $crit_val
269367
ABdec
000
011
1X1
$$self{"_table_name"} //= do {         my $t = $$self{'table'} || ref $self; $t =~ s/\A.*:://; $t }
269433
ABdec
000
011
1X1
$$self{'table'} || ref $self
2703100
ABCdec
0000
0011
01X1
1XX1
$$self{$table} or $$self{"data"} or $$self{"berkeley"}
271433
ABdec
000
011
1X1
$$self{'table'} || ref $self
2760100
ABdec
000
011
1X1
$magic{unpack "N", $buf} or $magic{unpack "V", $buf}
276667
ABdec
000
011
1X1
$hex12 eq '6115' || $hex12 eq '1561'
280567
ABdec
0X0
100
111
defined $n and $n == 4
2807100
ABdec
000
011
1X1
$magic eq 'DPDB' || $magic eq 'DPDP'
282033
ABdec
0X0
100
111
scalar @messages and my $logger = $$self{"logger"}