Branch Coverage

blib/lib/Anansi/DatabaseComponent.pm
Criterion Covered Total %
branch 0 426 0.0


line true false branch
283 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
288 0 0 unless (eval { do { $autocommit = $self->{'HANDLE'}->autocommit; 1 } })
291 0 0 unless defined $autocommit
292 0 0 unless ref($autocommit) =~ /^$/
293 0 0 unless $autocommit =~ /^[\+\-]?\d+$/
294 0 0 if $autocommit
375 0 0 unless defined $parameters{'HANDLE'}
376 0 0 unless defined $parameters{'INPUT'}
377 0 0 unless ref($parameters{'INPUT'}) =~ /^ARRAY$/i
378 0 0 unless defined $parameters{'VALUE'}
379 0 0 unless ref($parameters{'VALUE'}) =~ /^HASH$/i
382 0 0 if (defined ${$parameters{'VALUE'};}{do { $input }->{'NAME'}}) { }
0 0 elsif (defined do { $input }->{'DEFAULT'}) { }
0 0 elsif (defined do { $input }->{'TYPE'}) { }
383 0 0 if (defined do { $input }->{'TYPE'}) { }
389 0 0 if (defined do { $input }->{'TYPE'}) { }
434 0 0 unless ref($parameter) =~ /^HASH$/i
435 0 0 unless defined do { $parameter }->{'NAME'}
436 0 0 unless ref(do { $parameter }->{'NAME'}) =~ /^$/
437 0 0 unless do { $parameter }->{'NAME'} =~ /^[a-zA-Z_]+(\s*[a-zA-Z0-9_]+)*$/
477 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
478 0 0 unless defined $self->{'HANDLE'}
479 0 0 if $self->autocommit
484 0 0 unless (eval { do { $commit = $self->{'HANDLE'}->commit; 1 } })
488 0 0 unless defined $commit
489 0 0 unless ref($commit) =~ /^$/
490 0 0 unless $commit =~ /^[\+\-]?\d+$/
491 0 0 if $commit
642 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
644 0 0 if (defined $parameters{'HANDLE'}) { }
0 0 elsif (not defined $parameters{'INPUT'}) { }
0 0 elsif (not ref($parameters{'INPUT'}) =~ /^ARRAY$/i) { }
645 0 0 unless ref($parameters{'HANDLE'}) =~ /^DBI::db$/
655 0 0 unless (ref($input) =~ /^HASH$/i)
660 0 0 if defined do { $input }->{'DEFAULT'}
661 0 0 if (not defined do { $input }->{'NAME'}) { }
0 0 elsif (not ref(do { $input }->{'NAME'}) =~ /^$/) { }
0 0 elsif (defined $parameters{do { $input }->{'NAME'}}) { }
662 0 0 if (not defined do { $input }->{'INPUT'}) { }
0 0 elsif (not ref(do { $input }->{'INPUT'}) =~ /^ARRAY$/i) { }
0 0 elsif (not defined do { $input }->{'REF'}) { }
0 0 elsif (not ref(do { $input }->{'REF'}) =~ /^$/i) { }
0 0 elsif ('' eq do { $input }->{'REF'}) { }
0 0 elsif (do { $input }->{'REF'} =~ /^HASH$/i) { }
669 0 0 if (ref(do { ${$input;}{'INPUT'} }->[$index]) =~ /^$/i) { }
0 0 elsif (not ref(do { ${$input;}{'INPUT'} }->[$index]) =~ /^HASH$/) { }
676 0 0 if defined do { ${${$input;}{'INPUT'};}[$index] }->{'DEFAULT'}
677 0 0 if (not defined do { ${${$input;}{'INPUT'};}[$index] }->{'NAME'}) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}[$index] }->{'NAME'}) =~ /^$/) { }
0 0 elsif (defined $parameters{do { ${${$input;}{'INPUT'};}[$index] }->{'NAME'}}) { }
680 0 0 if (not defined do { ${${$input;}{'INPUT'};}[$index] }->{'REF'}) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}[$index] }->{'REF'}) =~ /^$/) { }
0 0 elsif ('' ne do { ${${$input;}{'INPUT'};}[$index] }->{'REF'}) { }
0 0 elsif ('' ne ref $parameters{do { ${${$input;}{'INPUT'};}[$index] }->{'NAME'}}) { }
681 0 0 if '' eq ref $parameters{do { ${${$input;}{'INPUT'};}[$index] }->{'NAME'}}
695 0 0 unless ref($subInput) =~ /^HASH$/i
697 0 0 if defined do { $subInput }->{'DEFAULT'}
698 0 0 if (not defined do { $subInput }->{'NAME'}) { }
0 0 elsif (not ref(do { $subInput }->{'NAME'}) =~ /^$/) { }
0 0 elsif (defined $parameters{do { $subInput }->{'NAME'}}) { }
701 0 0 if (not defined do { $subInput }->{'REF'}) { }
0 0 elsif (ref(do { $subInput }->{'REF'}) =~ /^ARRAY$/i) { }
0 0 elsif (not ref(do { $subInput }->{'REF'}) =~ /^$/) { }
0 0 elsif (do { $subInput }->{'REF'} ne ref $parameters{do { $subInput }->{'NAME'}}) { }
704 0 0 if defined $refs{ref $parameters{do { $subInput }->{'NAME'}}}
717 0 0 if (not defined do { $input }->{'REF'}) { }
0 0 elsif (ref(do { $input }->{'REF'}) =~ /^ARRAY$/i) { }
0 0 elsif (not ref(do { $input }->{'REF'}) =~ /^$/) { }
0 0 elsif (do { $input }->{'REF'} ne ref $parameters{do { $input }->{'NAME'}}) { }
0 0 elsif (not ref($parameters{do { $input }->{'NAME'}}) =~ /^HASH$/i) { }
720 0 0 if (not defined $refs{ref $parameters{do { $input }->{'NAME'}}}) { }
0 0 elsif (not ref($parameters{do { $input }->{'NAME'}}) =~ /^HASH$/i) { }
724 0 0 if (not defined do { $input }->{'INPUT'}) { }
0 0 elsif (not ref(do { $input }->{'INPUT'}) =~ /^HASH$/i) { }
731 0 0 unless (ref($subInput) =~ /^HASH$/i)
736 0 0 if defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'DEFAULT'}
737 0 0 if (not defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}) =~ /^$/) { }
0 0 elsif (defined $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}) { }
740 0 0 if (not defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) { }
0 0 elsif (ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) =~ /^ARRAY$/i) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) =~ /^$/) { }
0 0 elsif (do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'} ne ref $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}) { }
743 0 0 if defined $refs{ref $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}}
760 0 0 if (not defined do { $input }->{'INPUT'}) { }
0 0 elsif (not ref(do { $input }->{'INPUT'}) =~ /^HASH$/i) { }
767 0 0 unless (ref($subInput) =~ /^HASH$/i)
772 0 0 if defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'DEFAULT'}
773 0 0 if (not defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}) =~ /^$/) { }
0 0 elsif (defined $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}) { }
776 0 0 if (not defined do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) { }
0 0 elsif (ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) =~ /^ARRAY$/i) { }
0 0 elsif (not ref(do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'}) =~ /^$/) { }
0 0 elsif (do { ${${$input;}{'INPUT'};}{$subInput} }->{'REF'} ne ref $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}) { }
779 0 0 if defined $refs{ref $parameters{do { ${${$input;}{'INPUT'};}{$subInput} }->{'NAME'}}}
794 0 0 if 0 == scalar @inputs
796 0 0 unless defined $handle
840 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
841 0 0 unless defined $self->{'HANDLE'}
842 0 0 if (not defined $self->{'MANAGE_HANDLE'}) { }
0 0 elsif (1 == $self->{'MANAGE_HANDLE'}) { }
913 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
914 0 0 if (not defined $self->{'STATEMENTS'}) { }
0 0 elsif (0 == scalar keys %{$$self{'STATEMENTS'};}) { }
919 0 0 if (not defined $parameters{'STATEMENT'}) { }
0 0 elsif (not ref($parameters{'STATEMENT'}) =~ /^$/) { }
0 0 elsif (not defined ${$$self{'STATEMENTS'};}{$parameters{'STATEMENT'}}) { }
0 0 elsif (not defined do { ${$$self{'STATEMENTS'};}{$parameters{'STATEMENT'}} }->{'HANDLE'}) { }
921 0 0 if (defined do { ${$$self{'STATEMENTS'};}{$statement} }->{'HANDLE'})
942 0 0 if 0 == scalar keys %{$$self{'STATEMENTS'};}
985 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
986 0 0 if (defined $handle)
987 0 0 if (defined $self->{'HANDLE'})
991 0 0 unless ref($handle) =~ /^DBI::db$/
995 0 0 if defined $self->{'HANDLE'}
1103 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
1104 0 0 unless defined $self->{'STATEMENTS'}
1105 0 0 unless defined $parameters{'STATEMENT'}
1106 0 0 unless ref($parameters{'STATEMENT'}) =~ /^$/
1107 0 0 unless (defined ${$$self{'STATEMENTS'};}{$parameters{'STATEMENT'}})
1108 0 0 unless defined $parameters{'SQL'}
1109 0 0 unless ref($parameters{'SQL'}) =~ /^$/
1113 0 0 if (0 == $questionMarks) { }
0 0 elsif (not defined $parameters{'INPUT'}) { }
0 0 elsif (not ref($parameters{'INPUT'}) =~ /^ARRAY$/i) { }
0 0 elsif (scalar @{$parameters{'INPUT'};} != $questionMarks) { }
1114 0 0 if defined $parameters{'INPUT'}
1122 0 0 unless $self->binding(@{$parameters{'INPUT'};})
1128 0 0 unless (eval { do { $handle = $self->{'HANDLE'}->prepare($parameters{'SQL'}); 1 } })
1136 0 0 if defined $parameters{'INPUT'}
1139 0 0 if defined $channel
1193 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
1194 0 0 if $self->autocommit
1199 0 0 unless (eval { do { $rollback = $self->{'HANDLE'}->rollback; 1 } })
1202 0 0 unless defined $rollback
1203 0 0 unless ref($rollback) =~ /^$/
1204 0 0 unless $rollback =~ /^[\+\-]?\d+$/
1205 0 0 if $rollback
1579 0 0 if ref($self) =~ /^(|ARRAY|CODE|FORMAT|GLOB|HASH|IO|LVALUE|REF|Regexp|SCALAR|VSTRING)$/i
1582 0 0 if ($prepared) { }
1584 0 0 if (defined do { $prepared }->{'INPUT'})
1590 0 0 unless $bound
1596 0 0 unless (eval { do { $handle = $self->{'HANDLE'}->prepare($parameters{'SQL'}); 1 } })
1602 0 0 if (0 == $questionMarks) { }
0 0 elsif (not defined $parameters{'INPUT'}) { }
0 0 elsif (not ref($parameters{'INPUT'}) =~ /^ARRAY$/i) { }
0 0 elsif (scalar @{$parameters{'INPUT'};} != $questionMarks) { }
1603 0 0 if (defined $parameters{'INPUT'})
1617 0 0 unless ($self->bind('HANDLE', $handle, 'INPUT', $parameters{'INPUT'}, 'VALUE', \%parameters))
1630 0 0 unless (eval { do { $handle->execute; 1 } })
1634 0 0 if (not defined $handle->{'NUM_OF_FIELDS'}) { }
0 0 elsif (undef == $handle->{'NUM_OF_FIELDS'}) { }
0 0 elsif (0 == $handle->{'NUM_OF_FIELDS'}) { }
1645 0 0 unless $prepared
1717 0 0 unless ref($self) =~ /^$/
1719 0 0 unless defined $modules{'Bundle::DBI'}
1721 0 0 if (defined $parameters{'HANDLE'})
1722 0 0 unless ref($parameters{'HANDLE'}) =~ /^DBI::db$/
1724 0 0 unless defined $driver
1727 0 0 if (not defined $parameters{'DRIVER'}) { }
0 0 elsif (not ref($parameters{'DRIVER'}) =~ /^$/) { }
0 0 elsif (defined $parameters{'DRIVERS'}) { }
0 0 elsif (defined $modules{$parameters{'DRIVER'}}) { }
0 0 elsif (defined $modules{'DBD::' . $parameters{'DRIVER'}}) { }
0 0 elsif (not defined $modules{'Bundle::DBD::' . $parameters{'DRIVER'}}) { }
1728 0 0 if (defined $parameters{'DRIVERS'}) { }
0 0 elsif (defined $HANDLE_DRIVER) { }
0 0 elsif (not defined $modules{'Bundle::DBD'}) { }
1729 0 0 if ref($parameters{'DRIVERS'}) =~ /^$/
1730 0 0 unless ref($parameters{'DRIVERS'}) =~ /^ARRAY$/i
1731 0 0 if (defined $HANDLE_DRIVER) { }
1733 0 0 unless ref($DRIVER) =~ /^$/
1734 0 0 if $DRIVER eq $HANDLE_DRIVER
1739 0 0 unless ref($DRIVER) =~ /^$/
1740 0 0 if defined $modules{$DRIVER}
1741 0 0 if defined $modules{'DBD::' . $DRIVER}
1742 0 0 if defined $modules{'Bundle::DBD::' . $DRIVER}
1743 0 0 if defined $reduced{lc $DRIVER}
1744 0 0 if defined $reduced{lc 'DBD::' . $DRIVER}
1745 0 0 if defined $reduced{lc 'Bundle::DBD::' . $DRIVER}
1756 0 0 if ref($parameters{'DRIVERS'}) =~ /^$/
1757 0 0 unless ref($parameters{'DRIVERS'}) =~ /^ARRAY$/i
1767 0 0 unless ref($DRIVER) =~ /^$/
1769 0 0 if defined $DRIVERS{$DRIVER}
1770 0 0 if defined $DRIVERS{'DBD::' . $DRIVER}
1771 0 0 if defined $DRIVERS{'Bundle::DBD::' . $DRIVER}
1772 0 0 if defined $DRIVERS{lc $DRIVER}
1773 0 0 if defined $DRIVERS{lc 'DBD::' . $DRIVER}
1774 0 0 if defined $DRIVERS{lc 'Bundle::DBD::' . $DRIVER}
1777 0 0 unless $found
1778 0 0 if (defined $HANDLE_DRIVER) { }
1780 0 0 unless ref($DRIVER) =~ /^$/
1781 0 0 if $DRIVER eq $HANDLE_DRIVER
1786 0 0 if defined $modules{$DRIVER}
1787 0 0 if defined $modules{'DBD::' . $DRIVER}
1788 0 0 if defined $modules{'Bundle::DBD::' . $DRIVER}
1789 0 0 if defined $reduced{lc $DRIVER}
1790 0 0 if defined $reduced{lc 'DBD::' . $DRIVER}
1791 0 0 if defined $reduced{lc 'Bundle::DBD::' . $DRIVER}
1796 0 0 if (defined $HANDLE_DRIVER)
1797 0 0 if $parameters{'DRIVER'} ne $HANDLE_DRIVER
1800 0 0 if (defined $HANDLE_DRIVER)
1801 0 0 if 'DBD::' . $parameters{'DRIVER'} ne $HANDLE_DRIVER
1805 0 0 if (defined $reduced{lc $parameters{'DRIVER'}}) { }
0 0 elsif (defined $reduced{lc 'DBD::' . $parameters{'DRIVER'}}) { }
0 0 elsif (defined $reduced{lc 'Bundle::DBD::' . $parameters{'DRIVER'}}) { }
1806 0 0 if (defined $HANDLE_DRIVER)
1807 0 0 if lc $parameters{'DRIVER'} ne lc $HANDLE_DRIVER
1810 0 0 if (defined $HANDLE_DRIVER)
1811 0 0 if lc 'DBD::' . $parameters{'DRIVER'} ne lc $HANDLE_DRIVER
1814 0 0 if (defined $HANDLE_DRIVER)
1815 0 0 if lc 'Bundle::DBD::' . $parameters{'DRIVER'} ne lc $HANDLE_DRIVER