Branch Coverage

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


line true false branch
69 0 0 if @_ % 2
74 0 0 unless exists $$self{lc $_[$x]}
84 0 0 unless ($$self{'driver'})
91 0 0 unless ($$self{'driver'})
98 0 0 if (/Pg/)
99 0 0 if $$self{'datestyle'}
103 0 0 if (/Oracle/)
104 0 0 if $$self{'datestyle'}
106 0 0 $$self{'auth'} ? :
109 0 0 if (/Informix/)
110 0 0 if $$self{'datestyle'}
114 0 0 if (/DB2/)
115 0 0 if $$self{'codepage'}
119 0 0 if (/mysql/)
123 0 0 if (/Sybase/)
127 0 0 if (/mssql/)
131 0 0 if (/Solid/)
144 0 0 if not $$self{'conn'} and $$self{'trace'}
145 0 0 unless $$self{'conn'}
155 0 0 if $$self{'transaction'}
156 0 0 if $$self{'conn'}
165 0 0 unless $$self{'conn'}
166 0 0 if $$self{'conn'}->ping
177 0 0 unless (defined $type_f)
182 0 0 if $result > 0
193 0 0 unless (defined $type_f)
198 0 0 unless ($$self{'conn'})
202 0 0 if ($$self{'autocommit'})
207 0 0 if ($type_f or not $$self{'transaction'}) { }
208 0 0 if ($$self{'driver'} ne 'Oracle') { }
216 0 0 if ($$self{'driver'} ne 'Oracle') { }
217 0 0 unless $type_f
224 0 0 if $$self{'close_curs'}
226 0 0 if $result
238 0 0 unless (defined $sql_command)
242 0 0 unless ($$self{'conn'})
251 0 0 unless ($statement)
255 0 0 if $$self{'trace'}
263 0 0 if ($$self{'driver'} eq 'mssql')
266 0 0 unless ($result)
268 0 0 if $$self{'trace'}
269 0 0 unless $$self{'transaction'}
277 0 0 if scalar @ret_array and grep {$$self{'driver'} eq $_;} 'Oracle', 'Informix', 'mssql', 'DB2', 'Solid'
278 0 0 if $#ret_array < 0 and grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and not $statement->err
280 0 0 if ($#ret_array < 0 and $statement->err || $ret_rows)
284 0 0 if $$self{'trace'}
285 0 0 unless $$self{'transaction'}
291 0 0 if ($$self{'driver'} eq 'mssql')
295 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
298 0 0 if $types[$i] != &DBI::SQL_DECIMAL()
299 0 0 unless defined $ret_array[$i]
315 0 0 unless ($$self{'conn'})
321 0 0 unless (defined $sql_command)
332 0 0 if (exists $$self{'statements'}{$$self{'app'} . $sql_command}) { }
337 0 0 unless $$self{'statements'}{$statement_name}[3]
341 0 0 if ($#_ < 0) { }
342 0 0 if not $$self{'statements'}{$statement_name}[2] and $$self{'statements'}{$statement_name}[1]
351 0 0 if $$self{'statements'}{$statement_name}[1] != scalar @bind_values
358 0 0 if ($$self{'driver'} eq 'mssql') { }
362 0 0 unless ($statement)
366 0 0 if $$self{'trace'}
377 0 0 if ($#_ >= 0)
380 0 0 unless $cursortype =~ /^INTERNAL|^EXTERNAL/
381 0 0 if $$self{'driver'} eq 'mssql'
386 0 0 if (exists $$self{'cursors'}{$cursor_name})
391 0 0 unless ($statement)
395 0 0 if $$self{'trace'}
401 0 0 $statement ? :
402 0 0 $statement ? :
403 0 0 $statement ? :
406 0 0 if (grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and not $DeltaX::Database::Derror_message and $result eq '-1')
411 0 0 unless ($result)
413 0 0 if $$self{'trace'}
414 0 0 unless $$self{'transaction'}
418 0 0 if (defined $statement_name)
422 0 0 if ($$self{'driver'} eq 'Oracle' and not $ret_rows)
425 0 0 if (grep {$$self{'driver'} eq $_;} 'mssql', 'DB2', 'Solid' and $ret_rows < 0)
430 0 0 if ($ret_rows >= 0)
431 0 0 if ($cursortype eq 'INTERNAL') { }
434 0 0 if (not $cur_ref and $statement->err || $ret_rows) { }
438 0 0 if $$self{'trace'}
439 0 0 unless $$self{'transaction'}
449 0 0 if ($$self{'driver'} eq 'Informix' and not $ret_rows)
471 0 0 unless (defined $cursor_name)
475 0 0 unless ($$self{'conn'})
480 0 0 unless (exists $$self{'cursors'}{$cursor_name} and defined $$self{'cursors'}{$cursor_name})
487 0 0 if ($$self{'cursors'}{$cursor_name}[3] eq 'INTERNAL') { }
489 0 0 if ($#_ >= 0)
492 0 0 if $num_row =~ /^LAST/
494 0 0 if $num_row =~ /^FIRST/
495 0 0 if ($num_row > $$self{'cursors'}{$cursor_name}[1] - 1)
499 0 0 if $ret_array[0]
505 0 0 unless (@tmp_array)
510 0 0 if ($num_row >= $$self{'cursors'}{$cursor_name}[1]) { }
517 0 0 if ($$self{'driver'} eq 'Informix')
524 0 0 if ($$self{'driver'} eq 'mssql')
528 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
531 0 0 if $types[$i - 1] != &DBI::SQL_DECIMAL()
532 0 0 unless defined $ret_array[$i]
547 0 0 unless (defined $cursor_name)
551 0 0 unless ($$self{'conn'})
556 0 0 unless (exists $$self{'cursors'}{$cursor_name})
573 0 0 unless $cursor_name
574 0 0 unless (exists $$self{'cursors'}{$cursor_name} and defined $$self{'cursors'}{$cursor_name})
591 0 0 unless (defined $statement_name)
598 0 0 unless ($$self{'conn'})
603 0 0 unless (defined $sql_command)
608 0 0 if uc($sql_command) =~ /^[\t\n]*SELECT[ \n]/
614 0 0 if ($#_ >= 0)
615 0 0 if ($number_bval != shift())
621 0 0 if (exists $$self{'statements'}{$statement_name})
626 0 0 if ($$self{'driver'} eq 'mssql')
634 0 0 unless ($statement)
638 0 0 if $$self{'trace'}
642 0 0 if ($$self{'driver'} eq 'Oracle')
645 0 0 if ($sqlc_tmp[$i] eq '!' or uc $sqlc_tmp[$i] eq '?B')
646 0 0 unless $statement->bind_param($i + 1, undef, {'ora_type', 113})
650 0 0 if (uc $sqlc_tmp[$i] eq '?C')
651 0 0 unless $statement->bind_param($i + 1, undef, {'ora_type', 112})
676 0 0 unless (defined $statement_name)
681 0 0 unless ($$self{'conn'})
686 0 0 unless (exists $$self{'statements'}{$statement_name} and defined $$self{'statements'}{$statement_name})
688 0 0 if $$self{'trace'}
695 0 0 if ($#_ < 0) { }
696 0 0 if (not $$self{'statements'}{$statement_name}[2] and $$self{'statements'}{$statement_name}[1])
709 0 0 if ($$self{'statements'}{$statement_name}[1] != scalar @bind_values)
718 0 0 if ($$self{'driver'} eq 'mssql')
722 0 0 if ($$self{'statements'}{$statement_name}[3]) { }
734 0 0 unless ($result)
736 0 0 if $$self{'trace'}
737 0 0 unless $$self{'transaction'}
743 0 0 if ($$self{'statements'}{$statement_name}[3])
745 0 0 if (grep {$$self{'driver'} eq $_;} 'DB2', 'Solid', 'Oracle', 'Informix') { }
0 0 elsif ($#ret_array < 0 and $statement->err || $num_rows) { }
746 0 0 if (scalar @ret_array) { }
0 0 elsif ($statement->err) { }
753 0 0 if $$self{'trace'}
754 0 0 unless $$self{'transaction'}
767 0 0 if $$self{'trace'}
768 0 0 unless $$self{'transaction'}
775 0 0 if ($$self{'driver'} eq 'Informix')
785 0 0 if ($$self{'statements'}{$statement_name}[3]) { }
786 0 0 if ($$self{'driver'} eq 'Informix' and $$self{'imix_number_correct'})
789 0 0 if $types[$i] != &DBI::SQL_DECIMAL()
790 0 0 unless defined $ret_array[$i]
797 0 0 unless $$self{'transaction'}
811 0 0 unless (defined $statement_name)
816 0 0 unless ($$self{'conn'})
821 0 0 unless (exists $$self{'statements'}{$statement_name})
840 0 0 unless defined $statement_name
841 0 0 unless (exists $$self{'statements'}{$statement_name})
854 0 0 unless (defined $insert_command)
859 0 0 unless ($$self{'conn'})
869 0 0 if ($$self{'driver'} eq 'mssql')
876 0 0 unless ($result)
877 0 0 if $$self{'trace'}
878 0 0 unless $$self{'transaction'}
882 0 0 unless $$self{'transaction'}
894 0 0 unless (defined $delete_command)
899 0 0 unless ($$self{'conn'})
908 0 0 if ($$self{'driver'} eq 'mssql')
911 0 0 if $$self{'driver'} eq 'mysql' and $result eq '0E0'
916 0 0 unless ($result)
917 0 0 if $$self{'trace'}
918 0 0 unless $$self{'transaction'}
922 0 0 unless $$self{'transaction'}
934 0 0 unless (defined $update_command)
939 0 0 unless ($$self{'conn'})
948 0 0 if ($$self{'driver'} eq 'mssql')
952 0 0 if $$self{'driver'} eq 'mysql' and $result eq '0E0'
957 0 0 unless ($result)
958 0 0 if $$self{'trace'}
959 0 0 unless $$self{'transaction'}
963 0 0 unless $$self{'transaction'}
975 0 0 unless (defined $sql_command)
980 0 0 unless ($$self{'conn'})
989 0 0 if ($$self{'driver'} eq 'mssql')
996 0 0 unless ($result)
997 0 0 if $$self{'trace'}
998 0 0 unless $$self{'transaction'}
1002 0 0 unless $$self{'transaction'}
1017 0 0 if $$self{'trace'} and not $result
1030 0 0 if (defined $value)
1045 0 0 unless (defined $seq_name)
1050 0 0 unless ($$self{'conn'})
1055 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') { }
1057 0 0 if $sqlresult[0] < 1
1063 0 0 if $sqlresult[0] < 1
1068 0 0 if $sqlresult[0] < 1
1073 0 0 if $sqlresult[0] < 1
1080 0 0 if $$self{'autocommit'}
1081 0 0 unless $trans
1082 0 0 if $sqlresult < 0
1087 0 0 if ($sqlresult < 0)
1088 0 0 unless $trans
1092 0 0 if ($sqlresult[0] < 1)
1093 0 0 unless $trans
1097 0 0 if ($sqlresult[4] == 0) { }
0 0 elsif ($sqlresult[4] + $sqlresult[2] <= $sqlresult[3]) { }
1106 0 0 if ($ret_val)
1110 0 0 if ($sqlresult < 0)
1111 0 0 unless $trans
1115 0 0 unless $trans
1148 0 0 if (uc $type eq 'PREPARED') { }
0 0 elsif (uc $type eq 'COMMON') { }
1151 0 0 if (defined $idatetime and $idatetime eq '?' || $idatetime eq '??')
1153 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') { }
1154 0 0 if ($idatetime eq '?') { }
1180 0 0 if ($#_ < 0) { }
0 0 elsif ($#_ < 1) { }
0 0 elsif ($#_ < 2) { }
0 0 elsif ($#_ < 3) { }
0 0 elsif ($#_ < 4) { }
1181 0 0 if (defined $idatetime and not $idatetime =~ /!/) { }
1184 0 0 if (defined $t) { }
1194 0 0 if (not defined $idatetime or $idatetime ne '!') { }
1241 0 0 if ($mon == 0 or $year < 1000)
1245 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) { }
1247 0 0 if (not defined $day) { }
0 0 elsif ($day > 31) { }
1255 0 0 if (not defined $day) { }
0 0 elsif ($day > 30) { }
1263 0 0 if (not defined $day) { }
0 0 elsif ($day > 28) { }
1271 0 0 if (not defined $day) { }
0 0 elsif ($day > 29) { }
1279 0 0 if $mon < 1 or $mon > 12 or $day < 1
1280 0 0 if $t and $hour < 0 || $hour > 23 || $min < 0 || $min > 59 || $sec < 0 || $sec > 59
1283 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') { }
1284 0 0 if ($type) { }
1285 0 0 if ($t) { }
1298 0 0 if ($t) { }
1308 0 0 if ($type) { }
1309 0 0 if ($t) { }
1317 0 0 if ($t) { }
1327 0 0 if ($type) { }
1328 0 0 if ($t) { }
1336 0 0 if ($t) { }
1346 0 0 if ($type) { }
1347 0 0 if ($t) { }
1356 0 0 if ($t) { }
1383 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') { }
1386 0 0 if $t
1391 0 0 if ($t)
1399 0 0 if ($t) { }
1410 0 0 if ($t)
1419 0 0 wantarray ? :
1422 0 0 if ($t)
1423 0 0 wantarray ? :
1427 0 0 wantarray ? :
1437 0 0 if $result eq '0 but true'
1447 0 0 unless ($driver)
1450 0 0 if grep(('Sybase' eq $_), @drv_arr) and $driver eq 'mssql'
1451 0 0 if grep(($driver eq $_), @drv_arr)
1462 0 0 unless $driver and get_driver($driver)
1465 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') { }
1467 0 0 if ($driver eq 'Informix' and not $source =~ /@/)
1482 0 0 unless defined $source
1484 0 0 if (/Pg/)
1485 0 0 unless $source =~ /dbi:Pg:dbname=/
1486 0 0 if $$self{'host'}
1487 0 0 if $$self{'port'}
1489 0 0 if (/Oracle/)
1490 0 0 unless $source =~ /dbi:Oracle:/
1492 0 0 if (/Informix/)
1493 0 0 unless $source =~ /dbi:Informix:/
1495 0 0 if (/DB2/)
1496 0 0 unless $source =~ /dbi:DB2:/
1498 0 0 if (/mysql/)
1500 0 0 if $$self{'host'}
1502 0 0 if (/mssql/)
1504 0 0 if $$self{'host'}
1507 0 0 if (/Solid/)
1508 0 0 unless $source =~ /dbi:Solid:/
1563 0 0 if $DeltaX::Database::Dcmdstatus
1564 0 0 if $DeltaX::Database::Dsqlstatus
1565 0 0 if $errnum
1567 0 0 if ($$self{'trace'} > 1)
1568 0 0 if defined $DeltaX::Database::Dstr_command
1569 0 0 if ($#_ >= 0)
1570 0 0 defined $_ ? :
1603 0 0 unless defined $_
1604 0 0 unless /^[0-9.]+$/
1625 0 0 if ($$self{'stat_type'} eq 'none')
1640 0 0 if ($$self{'stat_type'} eq 'none')
1648 0 0 if $status eq 'ERROR'
1650 0 0 if ($$self{'stat_type'} eq 'sums')
1656 0 0 if ($status eq 'ERROR')
1666 0 0 if (scalar @{$$self{'stat_all'}{'high'};} > $$self{'stat_max_high'})
1671 0 0 if ($$self{'stat_type'} eq 'high')
1675 0 0 if not $$self{'stat_all'}{'all'} or scalar @{$$self{'stat_all'}{'all'};} < $$self{'stat_max_all'}
1685 0 0 if $max_high
1686 0 0 if $max_all
1727 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') { }
1736 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') { }
1737 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/) { }
1744 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') { }
1749 0 0 if ($DeltaX::Database::Dsqlstatus eq '-206') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-310') { }
0 0 elsif ($DeltaX::Database::Dsqlstatus eq '-239') { }
1754 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"/) { }
1762 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') { }
1767 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') { }
1772 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') { }
1779 0 0 unless scalar @teste
1783 0 0 unless scalar @teste
1784 0 0 grep({$rete == $_;} @teste) ? :