Branch Coverage

blib/lib/DeltaX/Database.pm
Criterion Covered Total %
branch 0 700 0.0


line true false branch
68 0 0 if @_ % 2
73 0 0 unless exists $$self{lc $_[$x]}
83 0 0 unless ($$self{'driver'})
90 0 0 unless ($$self{'driver'})
97 0 0 if (/Pg/)
98 0 0 if $$self{'datestyle'}
102 0 0 if (/Oracle/)
103 0 0 if $$self{'datestyle'}
105 0 0 $$self{'auth'} ? :
108 0 0 if (/Informix/)
109 0 0 if $$self{'datestyle'}
113 0 0 if (/DB2/)
114 0 0 if $$self{'codepage'}
118 0 0 if (/mysql/)
122 0 0 if (/Sybase/)
126 0 0 if (/mssql/)
130 0 0 if (/Solid/)
143 0 0 if not $$self{'conn'} and $$self{'trace'}
144 0 0 unless $$self{'conn'}
154 0 0 if $$self{'transaction'}
155 0 0 if $$self{'conn'}
164 0 0 unless $$self{'conn'}
165 0 0 if $$self{'conn'}->ping
176 0 0 unless (defined $type_f)
181 0 0 if $result > 0
192 0 0 unless (defined $type_f)
197 0 0 unless ($$self{'conn'})
201 0 0 if ($$self{'autocommit'})
206 0 0 if ($type_f or not $$self{'transaction'}) { }
207 0 0 if ($$self{'driver'} ne 'Oracle') { }
215 0 0 if ($$self{'driver'} ne 'Oracle') { }
216 0 0 unless $type_f
223 0 0 if $$self{'close_curs'}
225 0 0 if $result
237 0 0 unless (defined $sql_command)
241 0 0 unless ($$self{'conn'})
250 0 0 unless ($statement)
254 0 0 if $$self{'trace'}
262 0 0 if ($$self{'driver'} eq 'mssql')
265 0 0 unless ($result)
267 0 0 if $$self{'trace'}
268 0 0 unless $$self{'transaction'}
276 0 0 if scalar @ret_array and grep {$$self{'driver'} eq $_;} 'Oracle', 'Informix', 'mssql', 'DB2', 'Solid'
277 0 0 if $#ret_array < 0 and grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and not $statement->err
279 0 0 if ($#ret_array < 0 and $statement->err || $ret_rows)
283 0 0 if $$self{'trace'}
284 0 0 unless $$self{'transaction'}
290 0 0 if ($$self{'driver'} eq 'mssql')
294 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
297 0 0 if $types[$i] != &DBI::SQL_DECIMAL()
298 0 0 unless defined $ret_array[$i]
314 0 0 unless ($$self{'conn'})
320 0 0 unless (defined $sql_command)
331 0 0 if (exists $$self{'statements'}{$$self{'app'} . $sql_command}) { }
336 0 0 unless $$self{'statements'}{$statement_name}[3]
340 0 0 if ($#_ < 0) { }
341 0 0 if not $$self{'statements'}{$statement_name}[2] and $$self{'statements'}{$statement_name}[1]
350 0 0 if $$self{'statements'}{$statement_name}[1] != scalar @bind_values
357 0 0 if ($$self{'driver'} eq 'mssql') { }
361 0 0 unless ($statement)
365 0 0 if $$self{'trace'}
376 0 0 if ($#_ >= 0)
379 0 0 unless $cursortype =~ /^INTERNAL|^EXTERNAL/
380 0 0 if $$self{'driver'} eq 'mssql'
385 0 0 if (exists $$self{'cursors'}{$cursor_name})
390 0 0 unless ($statement)
394 0 0 if $$self{'trace'}
400 0 0 $statement ? :
401 0 0 $statement ? :
402 0 0 $statement ? :
405 0 0 if (grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and not $DeltaX::Database::Derror_message and $result eq '-1')
410 0 0 unless ($result)
412 0 0 if $$self{'trace'}
413 0 0 unless $$self{'transaction'}
417 0 0 if (defined $statement_name)
421 0 0 if ($$self{'driver'} eq 'Oracle' and not $ret_rows)
424 0 0 if (grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and $ret_rows < 0)
429 0 0 if ($ret_rows >= 0)
430 0 0 if ($cursortype eq 'INTERNAL') { }
433 0 0 if (not $cur_ref and $statement->err || $ret_rows) { }
437 0 0 if $$self{'trace'}
438 0 0 unless $$self{'transaction'}
448 0 0 if ($$self{'driver'} eq 'Informix' and not $ret_rows)
470 0 0 unless (defined $cursor_name)
474 0 0 unless ($$self{'conn'})
479 0 0 unless (exists $$self{'cursors'}{$cursor_name} and defined $$self{'cursors'}{$cursor_name})
486 0 0 if ($$self{'cursors'}{$cursor_name}[3] eq 'INTERNAL') { }
488 0 0 if ($#_ >= 0)
491 0 0 if $num_row =~ /^LAST/
493 0 0 if $num_row =~ /^FIRST/
494 0 0 if ($num_row > $$self{'cursors'}{$cursor_name}[1] - 1)
498 0 0 if $ret_array[0]
504 0 0 unless (@tmp_array)
509 0 0 if ($num_row >= $$self{'cursors'}{$cursor_name}[1]) { }
516 0 0 if ($$self{'driver'} eq 'Informix')
523 0 0 if ($$self{'driver'} eq 'mssql')
527 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
530 0 0 if $types[$i - 1] != &DBI::SQL_DECIMAL()
531 0 0 unless defined $ret_array[$i]
546 0 0 unless (defined $cursor_name)
550 0 0 unless ($$self{'conn'})
555 0 0 unless (exists $$self{'cursors'}{$cursor_name})
572 0 0 unless $cursor_name
573 0 0 unless (exists $$self{'cursors'}{$cursor_name} and defined $$self{'cursors'}{$cursor_name})
590 0 0 unless (defined $statement_name)
597 0 0 unless ($$self{'conn'})
602 0 0 unless (defined $sql_command)
607 0 0 if uc($sql_command) =~ /^[\t\n]*SELECT[ \n]/
613 0 0 if ($#_ >= 0)
614 0 0 if ($number_bval != shift())
620 0 0 if (exists $$self{'statements'}{$statement_name})
625 0 0 if ($$self{'driver'} eq 'mssql')
633 0 0 unless ($statement)
637 0 0 if $$self{'trace'}
641 0 0 if ($$self{'driver'} eq 'Oracle')
644 0 0 if ($sqlc_tmp[$i] eq '!' or uc $sqlc_tmp[$i] eq '?B')
645 0 0 unless $statement->bind_param($i + 1, undef, {'ora_type', 113})
649 0 0 if (uc $sqlc_tmp[$i] eq '?C')
650 0 0 unless $statement->bind_param($i + 1, undef, {'ora_type', 112})
675 0 0 unless (defined $statement_name)
680 0 0 unless ($$self{'conn'})
685 0 0 unless (exists $$self{'statements'}{$statement_name} and defined $$self{'statements'}{$statement_name})
687 0 0 if $$self{'trace'}
694 0 0 if ($#_ < 0) { }
695 0 0 if (not $$self{'statements'}{$statement_name}[2] and $$self{'statements'}{$statement_name}[1])
708 0 0 if ($$self{'statements'}{$statement_name}[1] != scalar @bind_values)
717 0 0 if ($$self{'driver'} eq 'mssql')
721 0 0 if ($$self{'statements'}{$statement_name}[3]) { }
733 0 0 unless ($result)
735 0 0 if $$self{'trace'}
736 0 0 unless $$self{'transaction'}
742 0 0 if ($$self{'statements'}{$statement_name}[3])
744 0 0 if (grep {$$self{'driver'} eq $_;} 'DB2', 'Solid', 'Oracle', 'Informix') { }
0 0 elsif ($#ret_array < 0 and $statement->err || $num_rows) { }
745 0 0 if (scalar @ret_array) { }
0 0 elsif ($statement->err) { }
752 0 0 if $$self{'trace'}
753 0 0 unless $$self{'transaction'}
766 0 0 if $$self{'trace'}
767 0 0 unless $$self{'transaction'}
774 0 0 if ($$self{'driver'} eq 'Informix')
784 0 0 if ($$self{'statements'}{$statement_name}[3]) { }
785 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
788 0 0 if $types[$i] != &DBI::SQL_DECIMAL()
789 0 0 unless defined $ret_array[$i]
796 0 0 unless $$self{'transaction'}
810 0 0 unless (defined $statement_name)
815 0 0 unless ($$self{'conn'})
820 0 0 unless (exists $$self{'statements'}{$statement_name})
839 0 0 unless defined $statement_name
840 0 0 unless (exists $$self{'statements'}{$statement_name})
853 0 0 unless (defined $insert_command)
858 0 0 unless ($$self{'conn'})
868 0 0 if ($$self{'driver'} eq 'mssql')
875 0 0 unless ($result)
876 0 0 if $$self{'trace'}
877 0 0 unless $$self{'transaction'}
881 0 0 unless $$self{'transaction'}
893 0 0 unless (defined $delete_command)
898 0 0 unless ($$self{'conn'})
907 0 0 if ($$self{'driver'} eq 'mssql')
910 0 0 if $$self{'driver'} eq 'mysql' and $result eq '0E0'
915 0 0 unless ($result)
916 0 0 if $$self{'trace'}
917 0 0 unless $$self{'transaction'}
921 0 0 unless $$self{'transaction'}
933 0 0 unless (defined $update_command)
938 0 0 unless ($$self{'conn'})
947 0 0 if ($$self{'driver'} eq 'mssql')
951 0 0 if $$self{'driver'} eq 'mysql' and $result eq '0E0'
956 0 0 unless ($result)
957 0 0 if $$self{'trace'}
958 0 0 unless $$self{'transaction'}
962 0 0 unless $$self{'transaction'}
974 0 0 unless (defined $sql_command)
979 0 0 unless ($$self{'conn'})
988 0 0 if ($$self{'driver'} eq 'mssql')
995 0 0 unless ($result)
996 0 0 if $$self{'trace'}
997 0 0 unless $$self{'transaction'}
1001 0 0 unless $$self{'transaction'}
1016 0 0 if $$self{'trace'} and not $result
1029 0 0 if (defined $value)
1044 0 0 unless (defined $seq_name)
1049 0 0 unless ($$self{'conn'})
1054 0 0 if ($$self{'driver'} eq 'Pg') { }
0 0 elsif ($$self{'use_sequences'} and $$self{'driver'} eq 'Informix') { }
0 0 elsif ($$self{'driver'} eq 'Oracle') { }
0 0 elsif ($$self{'driver'} eq 'Solid') { }
0 0 elsif (grep {$$self{'driver'} eq $_;} 'Informix', 'mssql', 'DB2', 'mysql') { }
1056 0 0 if $sqlresult[0] < 1
1062 0 0 if $sqlresult[0] < 1
1067 0 0 if $sqlresult[0] < 1
1072 0 0 if $sqlresult[0] < 1
1079 0 0 if $$self{'autocommit'}
1080 0 0 unless $trans
1081 0 0 if $sqlresult < 0
1086 0 0 if ($sqlresult < 0)
1087 0 0 unless $trans
1091 0 0 if ($sqlresult[0] < 1)
1092 0 0 unless $trans
1096 0 0 if ($sqlresult[4] == 0) { }
0 0 elsif ($sqlresult[4] + $sqlresult[2] <= $sqlresult[3]) { }
1105 0 0 if ($ret_val)
1109 0 0 if ($sqlresult < 0)
1110 0 0 unless $trans
1114 0 0 unless $trans
1147 0 0 if (uc $type eq 'PREPARED') { }
0 0 elsif (uc $type eq 'COMMON') { }
1150 0 0 if (defined $idatetime and $idatetime eq '?' || $idatetime eq '??')
1152 0 0 if ($$self{'driver'} eq 'Oracle') { }
0 0 elsif ($$self{'driver'} eq 'mssql') { }
0 0 elsif (grep {$$self{'driver'} eq $_;} 'Pg', 'Informix', 'Sybase', 'DB2', 'mysql', 'Solid') { }
1153 0 0 if ($idatetime eq '?') { }
1179 0 0 if ($#_ < 0) { }
0 0 elsif ($#_ < 1) { }
0 0 elsif ($#_ < 2) { }
0 0 elsif ($#_ < 3) { }
0 0 elsif ($#_ < 4) { }
1180 0 0 if (defined $idatetime and not $idatetime =~ /!/) { }
1183 0 0 if (defined $t) { }
1193 0 0 if (not defined $idatetime or $idatetime ne '!') { }
1240 0 0 if ($mon == 0 or $year < 1000)
1244 0 0 if ($mon == 1 or $mon == 3 or $mon == 5 or $mon == 7 or $mon == 8 or $mon == 10 or $mon == 12) { }
0 0 elsif ($mon == 4 or $mon == 6 or $mon == 9 or $mon == 11) { }
0 0 elsif ($year % 4 or not $year % 100 and $year % 1000) { }
1246 0 0 if (not defined $day) { }
0 0 elsif ($day > 31) { }
1254 0 0 if (not defined $day) { }
0 0 elsif ($day > 30) { }
1262 0 0 if (not defined $day) { }
0 0 elsif ($day > 28) { }
1270 0 0 if (not defined $day) { }
0 0 elsif ($day > 29) { }
1278 0 0 if $mon < 1 or $mon > 12 or $day < 1
1279 0 0 if $t and $hour < 0 || $hour > 23 || $min < 0 || $min > 59 || $sec < 0 || $sec > 59
1282 0 0 if ($$self{'driver'} eq 'Oracle') { }
0 0 elsif (grep {$$self{'driver'} eq $_;} 'Pg', 'DB2', 'Solid', 'mysql') { }
0 0 elsif ($$self{'driver'} eq 'Informix') { }
0 0 elsif ($$self{'driver'} eq 'mssql') { }
1283 0 0 if ($type) { }
1284 0 0 if ($t) { }
1297 0 0 if ($t) { }
1307 0 0 if ($type) { }
1308 0 0 if ($t) { }
1316 0 0 if ($t) { }
1326 0 0 if ($type) { }
1327 0 0 if ($t) { }
1335 0 0 if ($t) { }
1345 0 0 if ($type) { }
1346 0 0 if ($t) { }
1355 0 0 if ($t) { }
1382 0 0 if ($$self{'driver'} eq 'Oracle') { }
0 0 elsif (grep {$$self{'driver'} eq $_;} 'Pg', 'DB2', 'Solid', 'mysql') { }
0 0 elsif ($$self{'driver'} eq 'Informix') { }
0 0 elsif ($$self{'driver'} eq 'mssql') { }
1385 0 0 if $t
1390 0 0 if ($t)
1398 0 0 if ($t) { }
1409 0 0 if ($t)
1418 0 0 wantarray ? :
1421 0 0 if ($t)
1422 0 0 wantarray ? :
1426 0 0 wantarray ? :
1436 0 0 if $result eq '0 but true'
1446 0 0 unless ($driver)
1449 0 0 if grep(('Sybase' eq $_), @drv_arr) and $driver eq 'mssql'
1450 0 0 if grep(($driver eq $_), @drv_arr)
1461 0 0 unless $driver and get_driver($driver)
1464 0 0 if ($driver ne 'Oracle' and $driver ne 'mssql' and $driver ne 'Solid') { }
0 0 elsif ($driver eq 'Oracle') { }
0 0 elsif ($driver eq 'mssql') { }
0 0 elsif ($driver eq 'Solid') { }
1466 0 0 if ($driver eq 'Informix' and not $source =~ /@/)
1481 0 0 unless defined $source
1483 0 0 if (/Pg/)
1484 0 0 unless $source =~ /dbi:Pg:dbname=/
1486 0 0 if (/Oracle/)
1487 0 0 unless $source =~ /dbi:Oracle:/
1489 0 0 if (/Informix/)
1490 0 0 unless $source =~ /dbi:Informix:/
1492 0 0 if (/DB2/)
1493 0 0 unless $source =~ /dbi:DB2:/
1495 0 0 if (/mysql/)
1497 0 0 if $$self{'host'}
1499 0 0 if (/mssql/)
1501 0 0 if $$self{'host'}
1504 0 0 if (/Solid/)
1505 0 0 unless $source =~ /dbi:Solid:/
1560 0 0 if $DeltaX::Database::Dcmdstatus
1561 0 0 if $DeltaX::Database::Dsqlstatus
1562 0 0 if $errnum
1564 0 0 if ($$self{'trace'} > 1)
1565 0 0 if defined $DeltaX::Database::Dstr_command
1566 0 0 if ($#_ >= 0)
1567 0 0 defined $_ ? :
1600 0 0 unless defined $_
1601 0 0 unless /^[0-9.]+$/
1622 0 0 if ($$self{'stat_type'} eq 'none')
1637 0 0 if ($$self{'stat_type'} eq 'none')
1645 0 0 if $status eq 'ERROR'
1647 0 0 if ($$self{'stat_type'} eq 'sums')
1653 0 0 if ($status eq 'ERROR')
1663 0 0 if (scalar @{$$self{'stat_all'}{'high'};} > $$self{'stat_max_high'})
1668 0 0 if ($$self{'stat_type'} eq 'high')
1672 0 0 if not $$self{'stat_all'}{'all'} or scalar @{$$self{'stat_all'}{'all'};} < $$self{'stat_max_all'}
1682 0 0 if $max_high
1683 0 0 if $max_all
1724 0 0 if ($teste eq 'TABLE_NOTEXIST' or $teste eq '1') { }
0 0 elsif ($teste eq 'TABLE_EXIST' or $teste eq '2') { }
0 0 elsif ($teste eq 'REC_EXIST' or $teste eq '3') { }
0 0 elsif ($teste eq 'SCHEMA_NOTEXIST' or $teste eq '4') { }
0 0 elsif ($teste eq 'SCHEMA_EXIST' or $teste eq '5') { }
1733 0 0 if ($$self{'driver'} eq 'Pg') { }
0 0 elsif ($$self{'driver'} eq 'Oracle') { }
0 0 elsif ($$self{'driver'} eq 'Informix') { }
0 0 elsif ($$self{'driver'} eq 'DB2') { }
0 0 elsif ($$self{'driver'} eq 'mysql') { }
0 0 elsif ($$self{'driver'} eq 'mssql') { }
0 0 elsif ($$self{'driver'} eq 'Solid') { }
1734 0 0 if ($DeltaX::Database::Dsqlstatus eq '7' and $DeltaX::Database::Derror_message =~ /(Relation|relation|table) .* does not exist/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '7' and $DeltaX::Database::Derror_message =~ /(R|r)elation .* already exists/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '7' and $DeltaX::Database::Derror_message =~ /duplicate key/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '7' and $DeltaX::Database::Derror_message =~ /(Namespace|Schema|schema) .* does not exist/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '7' and $DeltaX::Database::Derror_message =~ /(namespace|schema) .* already exists/) { }
1741 0 0 if ($DeltaX::Database::Dsqlstatus eq '942' or $DeltaX::Database::Dsqlstatus eq '4043') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '955') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '1') { }
1746 0 0 if ($DeltaX::Database::Dsqlstatus eq '-206') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-310') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-239') { }
1751 0 0 if ($DeltaX::Database::Dsqlstatus eq '-204' and $DeltaX::Database::Derror_message =~ /"[^\.]+\.[^\.]+"/ or $DeltaX::Database::Dsqlstatus eq '-99999' and $DeltaX::Database::Derror_message =~ /CLI0125E/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-601' and $DeltaX::Database::Derror_message =~ /type "TABLE"/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-803') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-204' and $DeltaX::Database::Derror_message =~ /"[^\.]+"/) { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-601' and $DeltaX::Database::Derror_message =~ /type "SCHEMA"/) { }
1759 0 0 if ($DeltaX::Database::Dsqlstatus eq '1051' or $DeltaX::Database::Dsqlstatus eq '1146') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '1050') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '1062') { }
1764 0 0 if ($DeltaX::Database::Dsqlstatus eq '3701' or $DeltaX::Database::Dsqlstatus eq '208') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '2714') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '2601') { }
1769 0 0 if ($DeltaX::Database::Dsqlstatus eq '13011') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '13013') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '10005' or $DeltaX::Database::Dsqlstatus eq '10033') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '13141' or $DeltaX::Database::Dsqlstatus eq '13046') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '13142') { }
1776 0 0 unless scalar @teste
1780 0 0 unless scalar @teste
1781 0 0 grep({$rete == $_;} @teste) ? :