| line | % | coverage | branch |
| 343 | 100 | T | F | if (my $params = Params::Get::get_params(undef, @_)) |
| 344 | 100 | T | F | if ($$params{"expires_in"} and not $$params{"cache_duration"}) |
| 372 | 100 | T | F | if (scalar(@_) % 2 == 0) { } |
| 50 | T | F | elsif (scalar @_ == 1 and ref $_[0] eq 'HASH') { } |
| 0 | T | F | elsif (scalar @_ > 0) { } |
| 519 | 100 | T | F | if (scalar @_ == 1 and not ref $_[0]) { } |
| 100 | T | F | elsif (my $params = Params::Get::get_params(undef, @_)) { } |
| 525 | 50 | T | F | if (not defined $class) { } |
| 100 | T | F | elsif ($class eq __PACKAGE__) { } |
| 100 | T | F | elsif (&Scalar::Util::blessed($class)) { } |
| 526 | 0 | T | F | if (scalar keys %args > 0) |
| 545 | 50 | T | F | if (defined $args{"logger"} and not &Scalar::Util::blessed($args{"logger"})) |
| 549 | 100 | T | F | unless ($args{"dsn"} or $defaults{"dsn"}) |
| 550 | 100 | T | F | unless $args{"directory"} or $defaults{"directory"} |
| 552 | 100 | T | F | unless -d ($args{'directory'} || $defaults{'directory'}) |
| 557 | 100 | T | F | if (defined $$src{"id"}) |
| 559 | 50 | T | F | unless $$src{"id"} =~ /^[a-zA-Z_][a-zA-Z0-9_]*$/ |
| 586 | 100 | T | F | if (my $logger = $$params{"logger"}) |
| 587 | 100 | T | F | if (&Scalar::Util::blessed($logger)) { } |
| 605 | 100 | T | F | unless $c and $c->isa(__PACKAGE__) |
| 610 | 100 | T | F | $$self{'sep_char'} ? : |
| 618 | 50 | T | F | if $$self{$table} |
| 624 | 100 | T | F | if (my $dsn = $$self{'dsn'} || $defaults{'dsn'}) |
| 625 | 50 | T | F | unless "DBI"->can("connect") |
| 628 | 50 | T | F | if ($dsn =~ /^dbi:SQLite:/i) { } |
| 0 | T | F | elsif ($dsn =~ /^dbi:Pg:/i) { } |
| 0 | T | F | elsif ($dsn =~ /^dbi:mysql:/i) { } |
| 636 | 50 | T | F | unless $dbh = "DBI"->connect($dsn, $$self{"username"}, $$self{"password"}, {"RaiseError", 1, "AutoCommit", 1}) |
| 640 | 50 | T | F | if ($dialect eq "sqlite") |
| 657 | 50 | T | F | unless $dbname =~ /^[a-zA-Z0-9_.-]+$/ and not $dbname =~ /\.\./ |
| 664 | 100 | T | F | if (-r $slurp_file) |
| 666 | 50 | T | F | unless "DBI"->can("connect") |
| 673 | 100 | T | F | if ($dbh) { } |
| 50 | T | F | elsif ($self->_is_berkeley_db('File::Spec'->catfile($dir, "$dbname.db"))) { } |
| 692 | 50 | T | F | unless -r $candidate |
| 693 | 0 | T | F | unless &Database::Abstraction::open($fin, "<", $candidate) |
| 697 | 50 | T | F | if (defined $slurp_file and -r $slurp_file) { } |
| 709 | 100 | T | F | if (-r $psv and &Database::Abstraction::open($fin, '<', $psv)) { } |
| 717 | 100 | T | F | unless -r $candidate |
| 718 | 50 | T | F | unless &Database::Abstraction::open($fin, "<", $candidate) |
| 724 | 100 | T | F | if (my $filename = $$self{'filename'} || $defaults{'filename'}) |
| 725 | 50 | T | F | unless $filename =~ /^[a-zA-Z0-9_.-]+$/ and not $filename =~ /\.\./ |
| 730 | 100 | T | F | if (defined $slurp_file and -r $slurp_file) { } |
| 731 | 100 | T | F | if defined $fin |
| 736 | 100 | T | F | if ($$params{'column_names'}) { } |
| 787 | 100 | T | F | if (-s $slurp_file <= $max_slurp_size and not $$params{"column_names"}) |
| 788 | 50 | T | F | if (-s $slurp_file == 0) { } |
| 814 | 100 | T | F | if ($$self{'no_entry'}) { } |
| 819 | 100 | T | F | @data ? : |
| 829 | 100 | T | F | if (-r $slurp_file) { } |
| 830 | 100 | T | F | if (-s $slurp_file <= $max_slurp_size) { } |
| 838 | 100 | T | F | if (ref $$xml{$key} eq 'ARRAY') { } |
| 50 | T | F | elsif (ref $xml eq 'ARRAY') { } |
| 100 | T | F | elsif (ref $xml eq 'HASH' and not $$self{'no_entry'}) { } |
| 843 | 100 | T | F | if (scalar keys %{$xml;} == 1) { } |
| 844 | 100 | T | F | if ($$xml{$table}) { } |
| 856 | 100 | T | F | if ($$self{'no_entry'}) { } |
| 883 | 100 | T | F | if $$self{"data"} and ref $$self{"data"} eq "HASH" |
| 941 | 100 | T | F | if ($$self{"berkeley"}) |
| 946 | 100 | T | F | if ($$self{'no_entry'}) { } |
| 100 | T | F | elsif (scalar @_) { } |
| 957 | 100 | T | F | if (my $join_spec = delete $params->{'join'}) |
| 961 | 100 | T | F | if (not $join_clause and $$self{"data"} and not $self->_has_complex_criteria($params)) |
| 962 | 100 | T | F | if (scalar keys %{$params;} == 0) { } |
| 100 | T | F | elsif (scalar keys %{$params;} == 1 and defined $$params{'entry'} and not $$self{'no_entry'}) { } |
| 50 | T | F | elsif (ref $$self{'data'} eq 'HASH') { } |
| 964 | 100 | T | F | if (ref $$self{"data"} eq "HASH") |
| 966 | 50 | T | F | if (scalar keys %{$$self{"data"};} <= 10) |
| 977 | 100 | T | F | unless exists $$self{"data"}{$$params{"entry"}} |
| 985 | 50 | T | F | exists $row->{$_} ? : |
| 995 | 100 | T | F | if $join_clause |
| 996 | 100 | T | F | if ($join_clause) { } |
| 100 | T | F | elsif ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 997 | 100 | T | F | if $where |
| 1001 | 100 | T | F | if $where |
| 1003 | 100 | T | F | if $where |
| 1005 | 100 | T | F | unless ($$self{"no_entry"}) |
| 1009 | 100 | T | F | if (defined $query_args[0]) { } |
| 1017 | 50 | T | F | if ($c = $$self{'cache'}) { } |
| 1019 | 0 | T | F | if (defined $query_args[0]) |
| 1023 | 0 | T | F | if (my $rc = $c->get($key)) |
| 1037 | 50 | T | F | if (my $sth = $$self{$table}->prepare_cached($query)) |
| 1038 | 50 | T | F | unless $sth->execute(@query_args) |
| 1042 | 50 | T | F | if scalar keys %{$href;} |
| 1044 | 50 | T | F | if $c |
| 1046 | 50 | T | F | unless ($$self{"no_fixate"}) |
| 1095 | 100 | T | F | if ($$self{"berkeley"}) |
| 1098 | 50 | T | F | wantarray ? : |
| 1106 | 100 | T | F | if (my $join_spec = delete $params->{'join'}) |
| 1110 | 100 | T | F | if (not $join_clause and $$self{"data"} and not $self->_has_complex_criteria($params)) |
| 1111 | 100 | T | F | if (scalar keys %{$params;} == 0) { } |
| 100 | T | F | elsif (scalar keys %{$params;} == 1 and defined $$params{'entry'} and not $$self{'no_entry'}) { } |
| 50 | T | F | elsif (ref $$self{'data'} eq 'HASH') { } |
| 1113 | 100 | T | F | if (ref $$self{"data"} eq "HASH") |
| 1120 | 100 | T | F | unless exists $$self{"data"}{$$params{"entry"}} |
| 1127 | 50 | T | F | exists $row->{$_} ? : |
| 1137 | 100 | T | F | if $join_clause |
| 1138 | 100 | T | F | if ($join_clause) { } |
| 100 | T | F | elsif ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 1139 | 50 | T | F | if $where |
| 1143 | 50 | T | F | if $where |
| 1145 | 100 | T | F | if $where |
| 1147 | 100 | T | F | unless ($$self{"no_entry"}) |
| 1150 | 100 | T | F | unless (wantarray) |
| 1154 | 100 | T | F | if (defined $query_args[0]) { } |
| 1162 | 50 | T | F | if ($c = $$self{'cache'}) { } |
| 1164 | 0 | T | F | if (wantarray) |
| 1167 | 0 | T | F | if (defined $query_args[0]) |
| 1171 | 0 | T | F | if (my $rc = $c->get($key)) |
| 1173 | 0 | T | F | wantarray ? : |
| 1185 | 50 | T | F | if (my $sth = $$self{$table}->prepare_cached($query)) |
| 1186 | 50 | T | F | unless $sth->execute(@query_args) |
| 1190 | 100 | T | F | unless (wantarray) |
| 1193 | 50 | T | F | if $c |
| 1198 | 50 | T | F | if $c |
| 1200 | 50 | T | F | if ($rc) |
| 1201 | 50 | T | F | unless ($$self{"no_fixate"}) |
| 1244 | 100 | T | F | if ($$self{"berkeley"}) |
| 1252 | 100 | T | F | if ($$self{"data"}) |
| 1253 | 100 | T | F | if (scalar keys %{$params;} == 0) { } |
| 100 | T | F | elsif (scalar keys %{$params;} == 1 and defined $$params{'entry'} and not $$self{'no_entry'}) { } |
| 1255 | 100 | T | F | if (ref $$self{"data"} eq "HASH") |
| 1261 | 100 | T | F | exists $$self{'data'}{$$params{'entry'}} && $$self{'data'}{$$params{'entry'}} ? : |
| 1269 | 100 | T | F | if ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 100 | T | F | elsif ($$self{'no_entry'}) { } |
| 1272 | 100 | T | F | if $where |
| 1275 | 100 | T | F | if $where |
| 1278 | 50 | T | F | if $where |
| 1281 | 100 | T | F | if (defined $query_args[0]) { } |
| 1289 | 50 | T | F | if ($c = $$self{'cache'}) { } |
| 1296 | 0 | T | F | if (defined $query_args[0]) |
| 1299 | 0 | T | F | if (my $rc = $c->get($key)) |
| 1301 | 0 | T | F | ref $rc eq 'ARRAY' ? : |
| 1308 | 50 | T | F | if (my $sth = $$self{$table}->prepare_cached($query)) |
| 1309 | 50 | T | F | unless $sth->execute(@query_args) |
| 1353 | 100 | T | F | if (not $$self{'no_entry'}) { } |
| 1362 | 100 | T | F | if ($$self{"data"} and not $$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $$params{"entry"} and not $self->_has_complex_criteria($params)) |
| 1365 | 100 | T | F | exists $$self{'data'}{$$params{'entry'}} ? : |
| 1368 | 50 | T | F | if ($$self{"berkeley"}) |
| 1371 | 0 | T | F | if (not $$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $$params{"entry"}) |
| 1375 | 0 | T | F | if ($$self{"no_entry"} and scalar keys %{$params;} == 1 and defined $id and defined $$params{$id}) |
| 1376 | 0 | T | F | if (my $rc = $$self{"berkeley"}{$$params{$id}}) |
| 1386 | 100 | T | F | $join_spec ? : |
| 1391 | 100 | T | F | if $join_clause |
| 1392 | 100 | T | F | if ($join_clause) { } |
| 100 | T | F | elsif ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 1393 | 50 | T | F | if $where |
| 1397 | 50 | T | F | if $where |
| 1399 | 50 | T | F | if $where |
| 1402 | 100 | T | F | if (defined $query_args[0]) { } |
| 1410 | 100 | T | F | if (defined $query_args[0]) { } |
| 1411 | 50 | T | F | if (wantarray) |
| 1419 | 50 | T | F | if ($c = $$self{"cache"}) |
| 1420 | 0 | T | F | if (my $rc = $c->get($key)) |
| 1421 | 0 | T | F | if (wantarray) { } |
| 1422 | 0 | T | F | if (ref $rc eq "ARRAY") |
| 1432 | 50 | T | F | unless my $sth = $$self{$table}->prepare_cached($query) |
| 1433 | 50 | T | F | unless $sth->execute(@query_args) |
| 1436 | 50 | T | F | if ($c) |
| 1437 | 0 | T | F | if ($rc) { } |
| 1475 | 100 | T | F | if ($$self{"berkeley"}) |
| 1483 | 50 | T | F | unless defined $$args{"query"} |
| 1490 | 50 | T | F | unless $query =~ /\sFROM\s/i |
| 1499 | 100 | T | F | if (exists $args->{'args'}) { } |
| 1500 | 100 | T | F | ref $$args{'args'} eq 'ARRAY' ? : |
| 1501 | 50 | T | F | unless $sth->execute(@bind) |
| 1503 | 50 | T | F | unless $sth->execute |
| 1509 | 100 | T | F | unless (wantarray) |
| 1560 | 100 | T | F | if $$self{"_columns"} |
| 1566 | 100 | T | F | if ($$self{"berkeley"}) |
| 1570 | 100 | T | F | if (my $data = $$self{'data'}) { } |
| 1571 | 50 | T | F | if (ref $data eq "HASH") |
| 1573 | 50 | T | F | if $first |
| 1633 | 100 | T | F | if $$self{"_schema"} |
| 1638 | 100 | T | F | if ($$self{"berkeley"}) |
| 1645 | 100 | T | F | if (my $data = $$self{'data'}) { } |
| 1646 | 50 | T | F | if (ref $data eq "HASH") |
| 1648 | 50 | T | F | if ($first) |
| 1651 | 100 | T | F | $col eq $id ? : |
| 100 | T | F | $col eq $id ? : |
| 1662 | 100 | T | F | if ($driver eq 'SQLite') { } |
| 1676 | 50 | T | F | if ($sth) |
| 1773 | 50 | T | F | if $column eq "DESTROY" |
| 1775 | 50 | T | F | unless my $self = shift() |
| 1777 | 50 | T | F | unless ref $self |
| 1780 | 100 | T | F | if exists $self->{'auto_load'} and not $$self{"auto_load"} |
| 1783 | 50 | T | F | unless $column =~ /^[a-zA-Z_][a-zA-Z0-9_]*$/ |
| 1788 | 100 | T | F | if (ref $_[0] eq 'HASH') { } |
| 100 | T | F | elsif (scalar(@_) % 2 == 0) { } |
| 50 | T | F | elsif (scalar @_ == 1) { } |
| 1794 | 50 | T | F | if ($$self{"no_entry"} and not $$self{"berkeley"}) |
| 1800 | 50 | T | F | if ($$self{"berkeley"}) |
| 1801 | 0 | T | F | if (my $id = $$self{"id"}) |
| 1807 | 50 | T | F | unless defined $$self{"type"} |
| 1812 | 100 | T | F | if (wantarray and not $distinct) { } |
| 1813 | 100 | T | F | if (scalar keys %params == 0 and my $data = $$self{"data"}) |
| 1818 | 100 | T | F | ref $data eq 'ARRAY' ? : |
| 1819 | 100 | T | F | exists $_->{$column} ? : |
| 1822 | 100 | T | F | if ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 1829 | 100 | T | F | if (my $data = $$self{"data"}) |
| 1833 | 100 | T | F | if ($$self{'no_entry'}) { } |
| 100 | T | F | elsif (scalar keys %params == 1 and defined(my $key = $params{'entry'})) { } |
| 100 | T | F | elsif (scalar keys %params == 0) { } |
| 1836 | 50 | T | F | if (defined $key) |
| 1840 | 50 | T | F | unless exists $row->{$key} and defined $$row{$key} and $$row{$key} eq $value |
| 1841 | 50 | T | F | exists $row->{$column} ? : |
| 1842 | 50 | T | F | defined $rc ? : |
| 1852 | 100 | T | F | if (exists $data->{$key} and defined(my $hash = $$data{$key})) |
| 1853 | 100 | T | F | unless (exists $hash->{$column}) |
| 1858 | 100 | T | F | if (defined $rc) { } |
| 1865 | 50 | T | F | if (wantarray) |
| 1866 | 50 | T | F | if ($distinct) |
| 1867 | 50 | T | F | exists $_->{$column} ? : |
| 1877 | 0 | T | F | exists $v->{$column} ? : |
| 1883 | 100 | T | F | unless exists $row->{$key} and defined $$row{$key} and $$row{$key} eq $value |
| 1884 | 50 | T | F | unless exists $row->{$column} |
| 1885 | 50 | T | F | if (my $rc = $$row{$column}) |
| 1895 | 100 | T | F | if ($$self{'type'} eq 'CSV' and not $$self{'no_entry'}) { } |
| 1906 | 100 | T | F | unless $k =~ /^[a-zA-Z_][a-zA-Z0-9_.]*$/ |
| 1909 | 100 | T | F | defined $value ? : |
| 1910 | 100 | T | F | if (defined $value) { } |
| 1911 | 100 | T | F | $done_where ? : |
| 1915 | 50 | T | F | $done_where ? : |
| 1919 | 100 | T | F | if (wantarray) { } |
| 1924 | 100 | T | F | if (scalar @args and $args[0]) { } |
| 1931 | 50 | T | F | if ($cache = $$self{'cache'}) { } |
| 1932 | 0 | T | F | if (wantarray) |
| 1935 | 0 | T | F | if (defined $args[0]) { } |
| 1940 | 0 | T | F | if (my $rc = $cache->get($key)) |
| 1942 | 0 | T | F | wantarray ? : |
| 1949 | 50 | T | F | unless $sth->execute(@args) |
| 1951 | 100 | T | F | if (wantarray) |
| 1953 | 50 | T | F | if ($cache) |
| 1956 | 50 | T | F | unless $$self{"no_fixate"} |
| 1961 | 50 | T | F | if ($cache) |
| 1970 | 50 | T | F | if (defined $^V and $^V ge "v5.14.0") |
| 1971 | 50 | T | F | if ${^GLOBAL_PHASE} eq "DESTRUCT" |
| 1982 | 100 | T | F | if (my $dbh = delete $self->{$table_name}) |
| 1983 | 50 | T | F | if $dbh->can("disconnect") |
| 1984 | 50 | T | F | if $dbh->can("finish") |
| 1988 | 100 | T | F | if ($$self{"berkeley"}) |
| 2007 | 100 | T | F | ref $join_spec eq 'ARRAY' ? : |
| 2013 | 100 | T | F | unless my $jtable = $$j{"table"} |
| 2014 | 50 | T | F | unless $jtable =~ /^[a-zA-Z_][a-zA-Z0-9_.]*$/ |
| 2016 | 100 | T | F | unless my $on = $$j{"on"} |
| 2017 | 100 | T | F | unless $valid_types{$type} |
| 2029 | 100 | T | F | unless defined $params |
| 2030 | 100 | T | F | if exists $params->{'-or'} or exists $params->{'-and'} |
| 2032 | 100 | T | F | if ref $v |
| 2049 | 100 | T | F | if (my $or_list = delete $p{'-or'}) |
| 2053 | 50 | T | F | if ($s) |
| 2058 | 50 | T | F | if (@sub_clauses) |
| 2063 | 100 | T | F | if (my $and_list = delete $p{'-and'}) |
| 2067 | 50 | T | F | if ($s) |
| 2072 | 50 | T | F | if (@sub_clauses) |
| 2079 | 100 | T | F | if ($more) |
| 2101 | 100 | T | F | unless $col =~ /^[a-zA-Z_][a-zA-Z0-9_.]*$/ |
| 2104 | 100 | T | F | if (ref $val eq 'HASH') { } |
| 100 | T | F | elsif (ref $val) { } |
| 100 | T | F | elsif (not defined $val) { } |
| 100 | T | F | elsif ($val =~ /[%_]/) { } |
| 2107 | 100 | T | F | if ($op eq '-in' or $op eq '-not_in') { } |
| 100 | T | F | elsif ($op eq '-between') { } |
| 100 | T | F | elsif ($op eq '-like') { } |
| 100 | T | F | elsif ($op eq '-not_like') { } |
| 100 | T | F | elsif ($op eq '!=') { } |
| 100 | T | F | elsif ($op =~ /^(?:>|<|>=|<=)$/) { } |
| 2108 | 100 | T | F | $op eq '-in' ? : |
| 2122 | 100 | T | F | if (not defined $operand) { } |
| 2162 | 50 | T | F | if (delete $params->{'join'}) |
| 2165 | 0 | T | F | unless $_ eq "-or" |
| 50 | T | F | if (grep {$_ eq "-and" unless $_ eq "-or";} keys %{$params;}) |
| 2172 | 50 | T | F | if (my(@cols) = keys %{$params;}) |
| 2177 | 0 | T | F | unless ($self->_match_criterion($$row{$col}, $$params{$col})) |
| 2203 | 100 | T | F | if ($p[$i - 1] eq '%') { } |
| 2206 | 100 | T | F | $dp[$i - 1][$j] || $dp[$i][$j - 1] ? : |
| 2210 | 100 | T | F | $dp[$i - 1][$j - 1] && ($p[$i - 1] eq '_' || $p[$i - 1] eq $s[$j - 1]) ? : |
| 2222 | 100 | T | F | if (ref $crit_val eq "HASH") |
| 2225 | 100 | T | F | if ($op eq '-in') { } |
| 100 | T | F | elsif ($op eq '-not_in') { } |
| 100 | T | F | elsif ($op eq '-between') { } |
| 100 | T | F | elsif ($op eq '-like') { } |
| 100 | T | F | elsif ($op eq '-not_like') { } |
| 100 | T | F | elsif ($op eq '!=') { } |
| 100 | T | F | elsif ($op eq '>') { } |
| 100 | T | F | elsif ($op eq '<') { } |
| 100 | T | F | elsif ($op eq '>=') { } |
| 50 | T | F | elsif ($op eq '<=') { } |
| 2226 | 100 | T | F | unless defined $row_val and grep {$row_val eq $_;} @{$operand;} |
| 2228 | 100 | T | F | if defined $row_val and grep {$row_val eq $_;} @{$operand;} |
| 2230 | 100 | T | F | unless defined $row_val and $row_val >= $$operand[0] and $row_val <= $$operand[1] |
| 2232 | 100 | T | F | unless defined $row_val |
| 2233 | 100 | T | F | unless _like_match($row_val, $operand) |
| 2235 | 100 | T | F | unless defined $row_val |
| 2236 | 50 | T | F | if _like_match($row_val, $operand) |
| 2238 | 100 | T | F | if (not defined $operand) { } |
| 2239 | 100 | T | F | unless defined $row_val |
| 2241 | 100 | T | F | unless defined $row_val and $row_val ne $operand |
| 2244 | 100 | T | F | unless defined $row_val and $row_val > $operand |
| 2246 | 100 | T | F | unless defined $row_val and $row_val < $operand |
| 2248 | 100 | T | F | unless defined $row_val and $row_val >= $operand |
| 2250 | 100 | T | F | unless defined $row_val and $row_val <= $operand |
| 2256 | 100 | T | F | !(defined $row_val && defined $crit_val) ? : |
| 100 | T | F | !(defined $row_val || defined $crit_val) ? : |
| 2273 | 100 | T | F | unless $$self{$table} or $$self{"data"} or $$self{"berkeley"} |
| 2286 | 50 | T | F | if (my $dbh = $$self{$table}) |
| 2302 | 100 | T | F | unless do {
BEGIN {
$^H{'autodie::Scope::GuardStack/guard4'} = 'autodie::Scope::Guard=CODE(0x55c21c3ec538)';
$^H{'no Fatal'} = 'HASH(0x55c21b7204a0)';
}
open $fh, "<", $file
} |
| 2308 | 50 | T | F | if ($is_db) |
| 2311 | 0 | T | F | if require DB_File |
| 2314 | 0 | T | F | if (tie %bdb, "DB_File", $file, 0, 420, $DB_File::DB_HASH) |
| 2330 | 100 | T | F | unless &Database::Abstraction::read($fh, \my $magic_bytes, 4) == 4 |
| 2352 | 50 | T | F | unless &Database::Abstraction::seek($fh, 12, 0) |
| 2353 | 100 | T | F | unless &Database::Abstraction::read($fh, \$header, 4) |
| 2371 | 50 | T | F | if (scalar @messages and my $logger = $$self{"logger"}) |