Branch Coverage

blib/lib/Tie/Hash/DBD.pm
Criterion Covered Total %
branch 116 154 75.3


line true false branch
80 12 12 $self->{'ro'} == 1 ? :
98 2 23 if $exists
100 0 23 if $cnf->{'ro'}
102 3 20 unless $cnf->{'tmp'}
103 12 11 unless $dbt eq "CSV" or $dbt eq "Unify"
109 0 23 if $dbt eq "Unify"
115 0 89 unless my $dsn = shift()
118 0 89 ref $dsn ? :
0 65 unless my $dbh = ref $dsn ? $dsn->clone : "DBI"->connect($dsn, undef, undef, {"PrintError", 1, "RaiseError", 1, "PrintWarn", 0, "FetchHashKeyName", "NAME_lc"})
128 0 65 unless my $cnf = $DB{$dbt}
134 33 32 if exists $cnf->{'autoc'}
135 0 65 if $dbt eq "Oracle"
152 57 8 if ($opt)
153 0 57 unless ref $opt eq "HASH"
155 0 57 if $opt->{'key'}
156 0 57 if $opt->{'fld'}
157 5 52 if $opt->{'tbl'}
158 0 57 if $opt->{'trh'}
159 0 57 if $opt->{'ktp'}
160 0 57 if $opt->{'vtp'}
162 0 57 if exists $opt->{'ro'}
164 52 5 if (my $str = $opt->{'str'})
165 4 48 if ($str eq 'Sereal') { }
4 44 elsif ($str eq 'Storable') { }
4 40 elsif ($str eq 'FreezeThaw') { }
4 36 elsif ($str eq 'JSON') { }
4 32 elsif ($str eq 'JSON::MaybeXS') { }
4 28 elsif ($str eq 'JSON::SIMD') { }
4 24 elsif ($str eq 'JSON::Syck') { }
4 20 elsif ($str eq 'JSON::XS') { }
4 16 elsif ($str eq 'YAML') { }
4 12 elsif ($str eq 'YAML::Syck') { }
0 12 elsif ($str eq 'Data::Dumper') { }
4 8 elsif ($str eq 'XML::Dumper') { }
4 4 elsif ($str eq 'Bencode') { }
246 0 25 if $h->{'trh'}
248 5 20 if ($h->{'tbl'}) { }
249 3 2 unless $h->{'trh'} or $dbt eq "CSV" or $dbt eq "Unify"
259 25 0 unless $h->{'ro'}
260 25 0 unless $h->{'ro'}
261 25 0 unless $h->{'ro'}
266 12 13 unless (exists $cnf->{'pbind'} and not $cnf->{'pbind'})
285 2 5012 unless defined $val
287 108 4904 if $self->{'_en'}
293 4 5134 unless defined $val
295 192 4942 if $self->{'_de'}
301 24 5014 if $self->{'ro'}
302 0 5014 $self->{'asc'} ? :
304 507 4507 unless $self->{'dbt'} eq "SQLite"
307 28 4986 $self->EXISTS($key) ? :
308 0 5014 if $self->{'trh'}
314 0 16 if $self->{'ro'}
315 0 16 if $self->{'asc'}
316 8 8 unless $self->{'dbt'} eq "SQLite"
319 0 16 unless ($r)
320 0 0 if $self->{'trh'}
325 0 16 if $self->{'trh'}
331 0 23 if $self->{'ro'}
337 0 9966 if $self->{'asc'}
339 4966 5000 $self->{'sel'}->fetch ? :
344 0 5146 if $self->{'asc'}
346 24 5122 unless my $r = $self->{'sel'}->fetch
352 33 34 unless $self->{'dbt'} eq "SQLite"
354 0 67 if $self->{'trh'}
355 16 51 unless (@{$self->{'key'};})
356 0 16 if $self->{'trh'}
359 0 51 if ($self->{'asc'})
367 51 4929 unless (@{$self->{'key'};})
368 0 51 if $self->{'trh'}
377 0 14 unless my $r = $self->{'cnt'}->fetch
388 36 12 if @_
394 0 25 unless my $dbh = $self->{'dbh'}
396 0 150 unless $self->{$_}
402 22 3 if ($self->{'tmp'})
403 10 12 unless $dbh->{'AutoCommit'}
404 0 22 if $self->{'ro'}
407 10 15 unless $dbh->{'AutoCommit'}