Branch Coverage

blib/lib/DBI/DBD/SqlEngine.pm
Criterion Covered Total %
branch 197 346 56.9


line true false branch
60 0 40 if $$DBI::DBD::SqlEngine::drh{$class}
65 0 40 unless ($$attr{'Attribution'})
67 0 0 if $class eq 'DBI::DBD::SqlEngine'
73 0 40 unless $$attr{'Name'}
80 40 0 if ($prefix) { }
86 0 160 if $dbclass->can($method)
108 40 0 unless $DBI::DBD::SqlEngine::methods_installed{'__PACKAGE__'}++
145 576 0 if ($dbh)
150 576 0 if defined $$dbh{'sql_init_phase'}
155 0 576 if exists $$attr{'RootClass'}
160 804 332 if ($dbname =~ s/^((?:[^\\;]|\\.)*?);//s) { }
170 1136 0 if ($var =~ /^(.+?)=(.*)/s) { }
0 0 elsif ($var =~ /^(.+?)=>(.*)/s) { }
174 1136 0 if $^W
177 1136 0 unless exists $$attr{$var}
206 0 576 unless $$dbh{'sql_init_order'}
209 1736 4160 defined $order{$_} ? :
216 0 5896 unless exists $$attr{$a}
217 5896 0 if $two_phased_init
221 0 5896 if $@
222 0 5896 unless $two_phased_init
225 576 0 if $two_phased_init
248 0 32 if $attr and defined $$attr{'sql_table_source'} and $$attr{'sql_table_source'}->isa('DBI::DBD::SqlEngine::TableSource')
253 32 0 if not defined $tbl_src and $$drh{'ImplementorClass'}->can('default_table_source')
256 0 32 unless defined $tbl_src
295 348 0 $_[0]->FETCH('Active') ? :
302 0 24 unless ref $attr eq 'HASH'
303 24 0 unless defined $$attr{'sql_table_source'}
314 724 0 if ($sth)
324 0 724 if ($class->isa('SQL::Statement')) { }
328 0 0 if ($@) { }
341 48 676 if ($@ or $$stmt{'errstr'}) { }
364 576 576 unless defined $$DBI::SQL::Nano::versions{$_}
367 0 576 $$dbh{'sql_statement_version'} ? :
416 0 1152 unless (defined $phase)
420 0 0 if $phase
423 576 576 if (0 == $phase)
456 384 192 $$dbh{$drv_pfx_meta} ? :
468 384 192 if (exists $$dbh{$drv_pfx_meta} and not $$dbh{'sql_engine_in_gofer'})
471 0 384 if defined $attr and defined $$dbh{$valid_attrs} and not defined $$dbh{$valid_attrs}{$attr}
486 0 2112 if defined $$dbh{$valid_attrs} and not defined $$dbh{$valid_attrs}{$attr}
489 0 2112 if defined $$dbh{$ro_attrs} and not defined $$dbh{$ro_attrs}{$attr}
500 576 0 if defined $_[0]{'sql_init_phase'}
524 28 0 unless ($dbh2)
527 0 28 unless ($dbh2)
554 0 0 if ($$dbh{'sql_engine_in_gofer'})
558 0 0 if exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
568 0 3676 if $attrib eq 'AutoCommit'
572 0 3676 if ($attrib eq lc $attrib)
576 0 0 unless $attrib = $dbh->func($attrib, 'validate_FETCH_attr')
579 0 0 if $attrib =~ /^([a-z]+_)/
580 0 0 unless ($attr_prefix)
589 0 0 if exists $$dbh{$valid_attrs}
592 0 0 if exists $$dbh{$ro_attrs} and $$dbh{$ro_attrs}{$attrib} and defined $$dbh{$attrib} and refaddr($$dbh{$attrib})
608 0 64 if ($attrib eq 'sql_identifier_case' || $attrib eq 'sql_quoted_identifier_case' and $value < 1 || $value > 4)
618 4 4068 if exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
637 768 9016 if ($attrib eq 'AutoCommit')
639 768 0 if $value
643 4072 4944 if ($attrib eq lc $attrib)
648 0 4072 unless $attrib
651 4072 0 if $attrib =~ /^([a-z]+_)/
652 0 4072 unless ($attr_prefix)
661 2388 1684 if exists $$dbh{$valid_attrs}
664 0 2384 if exists $$dbh{$ro_attrs} and $$dbh{$ro_attrs}{$attrib} and defined $$dbh{$attrib}
670 36 4032 if ($attrib eq 'sql_meta') { }
698 0 16 $$dbh{'sql_handler'} eq 'SQL::Statement' ? :
710 16 24 if $derived eq 'DBI::DBD::SqlEngine::db'
711 0 24 unless $derived->isa('DBI::DBD::SqlEngine::db')
718 24 0 $ddgv ? :
722 8 16 if $indent
727 16 0 if $indent
729 8 8 if $DBI::PurePerl
732 16 151 if $a->isa($b)
735 13 138 if $b->isa($a)
736 43 95 if $a->isa('DBI::DBD::SqlEngine')
737 32 63 if $b->isa('DBI::DBD::SqlEngine')
741 0 16 wantarray ? :
749 0 56 if $table eq '.'
754 0 56 unless $meta
767 0 32 if $table eq '*'
769 0 32 if $table eq '+'
771 0 32 if ref $table eq 'Regexp'
773 24 8 unless ref $table or ref $attr
776 0 8 unless ref $table
777 0 8 unless ref $attr
778 0 8 unless 'ARRAY' eq ref $table
782 0 8 unless 'ARRAY' eq ref $attr
805 0 8 if $table eq '.'
810 0 8 unless $meta
823 0 8 if $table eq '*'
825 0 8 if $table eq '+'
827 0 8 if ref $table eq 'Regexp'
829 4 4 unless ref $table or ref $attr
832 4 0 unless ref $table
833 0 4 unless ref $attr
834 0 4 unless 'ARRAY' eq ref $table
837 0 4 unless 'HASH' eq ref $attr
858 4 0 if $meta
866 192 0 if $dbh->SUPER::FETCH('Active')
916 0 36 if ($$dbh{'sql_handler'} eq 'SQL::Statement' and $$dbh{'sql_ram_tables'})
926 0 36 if defined $$dbh{'sql_table_source'} and $$dbh{'sql_table_source'}->isa('DBI::DBD::SqlEngine::TableSource')
930 36 0 if not defined $tbl_src and $$dbh{'Driver'}{'ImplementorClass'}->can('default_table_source')
933 36 0 if defined $tbl_src
958 0 28 unless $sth
959 0 28 unless $sth->execute
969 0 8 unless my(@tables) = $dbh->func('get_avail_tables')
982 0 0 unless defined $str
983 0 0 if defined $type and $type == &DBI::SQL_NUMERIC() || $type == &DBI::SQL_DECIMAL() || $type == &DBI::SQL_INTEGER() || $type == &DBI::SQL_SMALLINT() || $type == &DBI::SQL_FLOAT() || $type == &DBI::SQL_REAL() || $type == &DBI::SQL_DOUBLE() || $type == &DBI::SQL_TINYINT()
1004 0 0 if $dbh->FETCH('Warn')
1012 0 0 if $dbh->FETCH('Warn')
1113 0 0 unless 'HASH' eq ref $tbl_meta
1117 0 0 unless $meta
1132 0 24 unless $meta
1153 0 0 unless exists $_[0]{'dbh'}{'sql_meta'}{$_[1]}
1162 0 0 unless $meta
1192 0 108 if ($attr and defined $val)
1194 0 0 ref $attr eq 'HASH' ? :
1195 0 0 if ($type == &DBI::SQL_BIGINT() or $type == &DBI::SQL_INTEGER() or $type == &DBI::SQL_SMALLINT() or $type == &DBI::SQL_TINYINT()) { }
0 0 elsif ($type == &DBI::SQL_DECIMAL() or $type == &DBI::SQL_DOUBLE() or $type == &DBI::SQL_FLOAT() or $type == &DBI::SQL_NUMERIC() or $type == &DBI::SQL_REAL()) { }
1222 8 468 @_ ? :
1229 476 0 unless ($$sth{'sql_params_checked'}++)
1234 0 476 unless ((my $req_prm = $stmt->params) == (my $nparm = @$params))
1247 32 444 unless (defined $result)
1253 92 352 if ($$stmt{'NUM_OF_FIELDS'})
1256 44 48 unless $sth->FETCH('NUM_OF_FIELDS')
1274 64 252 if (not $data or ref $data ne 'ARRAY')
1283 80 172 unless ($dav)
1288 0 172 if ($sth->FETCH('ChopBlanks'))
1307 624 1396 if ($$sth{'sql_stmt'}{'NAME'} and 'ARRAY' eq ref $$sth{'sql_stmt'}{'NAME'}) { }
0 1396 elsif ($$sth{'sql_stmt'}->isa('SQL::Statement')) { }
1314 0 0 unless $$stmt{'column_defs'}
1315 0 0 unless $$_{'name'}
1317 1396 624 unless @colnames
1319 0 2020 if grep {/\*/;} @colnames
1328 336 1670 if $attrib eq 'NAME'
1330 336 1334 if $attrib eq 'TYPE'
1331 0 1334 if $attrib eq 'TYPE_NAME'
1332 336 998 if $attrib eq 'PRECISION'
1333 72 926 if $attrib eq 'NULLABLE'
1335 336 590 if ($attrib eq lc $attrib)
1348 1352 1548 if ($attrib eq lc $attrib)
1359 12 712 if $sth->SUPER::FETCH('Active')
1381 0 0 ref $_[0] ? :
1387 0 0 ref $_[0] ? :
1402 0 0 ref $_[0] ? :
1408 0 0 ref $_[0] ? :
1433 120 356 if $$self{'command'} eq 'DROP'
1440 376 100 if ($write_op)
1442 0 376 unless my($tblnm, $table_meta) = $class->get_table_meta($$data{'Database'}, $table, 1)
1444 24 0 $lockMode ? :
24 352 if $$table_meta{'readonly'}
1469 16 492 if defined $$dbh{'ReadOnly'} and not defined $$meta{'readonly'}
1472 472 36 unless defined $$meta{'sql_identifier_case'}
1475 476 32 unless exists $$meta{'sql_data_source'}
1490 920 176 unless (defined $respect_case)
1493 0 920 if $table =~ s/^\"//
1497 1096 0 unless ($respect_case)
1499 260 836 if defined $$dbh{'sql_meta_map'}{$table}
1503 656 440 if defined $$dbh{'sql_meta'}{$table}
1506 500 628 unless ($$meta{'initialized'})
1509 128 372 unless $$meta{'sql_data_source'}->complete_table_name($meta, $table, $respect_case, @other)
1512 168 204 if (defined $$meta{'table_name'} and $table ne $$meta{'table_name'})
1520 64 308 if (defined $$dbh{'sql_meta'}{$table})
1523 32 32 unless $$meta{'initialized'}
1529 340 0 unless ($$dbh{'sql_meta'}{$table}{'initialized'})
1550 96 208 ref $$extra_resets{$cv} ? :
1565 0 76 if exists $compat_map{$attrib}
1567 76 0 if exists $$meta{$attrib}
1575 4 8 if exists $compat_map{$attrib}
1585 12 0 if defined $reset_on_modify{$attrib} and delete @$meta{@{$reset_on_modify{$attrib};}}
1593 0 452 unless $$meta{'sql_data_source'}
1607 0 452 unless my($tblnm, $meta) = $className->get_table_meta($dbh, $$attrs{'table'}, 1)
1613 0 452 if $$flags{'createMode'} and $$data{'sql_stmt'}{'table_defs'}