Condition Coverage

blib/lib/DBI/DBD/SqlEngine.pm
Criterion Covered Total %
condition 59 170 34.7


and 3 conditions

line !l l&&!r l&&r condition
175 1136 0 0 exists $attr->{$var} and carp("$var is given in DSN *and* \$attr during DBI->connect()")
252 0 32 0 $attr and defined $attr->{'sql_table_source'}
32 0 0 $attr and defined $attr->{'sql_table_source'} and $attr->{'sql_table_source'}->isa('DBI::DBD::SqlEngine::TableSource')
256 0 0 32 not defined $tbl_src and $drh->{'ImplementorClass'}->can('default_table_source')
448 56 442 82 defined $INC{'DBD/Gofer.pm'} && (caller 5)[0] eq 'DBI::Gofer::Execute'
470 194 0 386 exists $dbh->{$drv_pfx_meta} and not $dbh->{'sql_engine_in_gofer'}
476 0 0 386 defined $attr and defined $dbh->{$valid_attrs}
0 386 0 defined $attr and defined $dbh->{$valid_attrs} and not defined $dbh->{$valid_attrs}{$attr}
490 0 2126 0 defined $dbh->{$valid_attrs} and not defined $dbh->{$valid_attrs}{$attr}
493 0 2126 0 defined $dbh->{$ro_attrs} and not defined $dbh->{$ro_attrs}{$attr}
560 0 0 0 exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
598 0 0 0 exists $dbh->{$ro_attrs} and $dbh->{$ro_attrs}{$attrib}
0 0 0 exists $dbh->{$ro_attrs} and $dbh->{$ro_attrs}{$attrib} and defined $dbh->{$attrib}
0 0 0 exists $dbh->{$ro_attrs} and $dbh->{$ro_attrs}{$attrib} and defined $dbh->{$attrib} and refaddr($dbh->{$attrib})
610 4020 68 0 $attrib eq 'sql_identifier_case' || $attrib eq 'sql_quoted_identifier_case' and $value < 1 || $value > 4
621 1120 2964 4 exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
668 1688 2396 0 exists $dbh->{$ro_attrs} and $dbh->{$ro_attrs}{$attrib}
2396 0 0 exists $dbh->{$ro_attrs} and $dbh->{$ro_attrs}{$attrib} and defined $dbh->{$attrib}
942 36 0 0 $dbh->{'sql_handler'} eq 'SQL::Statement' and $dbh->{'sql_ram_tables'}
954 36 0 0 defined $dbh->{'sql_table_source'} and $dbh->{'sql_table_source'}->isa('DBI::DBD::SqlEngine::TableSource')
958 0 0 36 not defined $tbl_src and $dbh->{'Driver'}{'ImplementorClass'}->can('default_table_source')
1009 0 0 0 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()
1218 108 0 0 $attr and defined $val
1316 0 0 0 $_ and $_ =~ s/ +$//
1333 1404 0 632 $sth->{'sql_stmt'}{'NAME'} and 'ARRAY' eq ref $sth->{'sql_stmt'}{'NAME'}
1500 490 16 16 defined $dbh->{'ReadOnly'} and not defined $meta->{'readonly'}
1541 0 208 178 defined $meta->{'table_name'} and $table ne $meta->{'table_name'}
1615 0 0 12 defined $reset_on_modify{$attrib} and delete @$meta{@{$reset_on_modify{$attrib};}}
1643 398 62 0 $flags->{'createMode'} and $data->{'sql_stmt'}{'table_defs'}

or 2 conditions

line l !l condition
63 44 0 $attr ||= {}
510 0 0 $dbh->{'sql_dialect'} || 'CSV'
515 0 0 $dbh->FETCH('sql_flags') || {}
592 0 0 $dbh->{$valid_attrs}{$attrib} or return $dbh->set_err($DBI::stderr, "Invalid attribute '${attrib}'")
664 2396 4 $dbh->{$valid_attrs}{$attrib} or return $dbh->set_err($DBI::stderr, "Invalid attribute '${attrib}'")
1339 0 0 $sth->{'sql_stmt'} || {}
1652 326 86 $meta->{'col_names'} || []

or 3 conditions

line l !l&&r !l&&!r condition
70 0 0 0 ${$class . '::ATTRIBUTION';} || "oops the author of $class forgot to define this"
0 0 0 $attr->{'Attribution'} ||= ${$class . '::ATTRIBUTION';} || "oops the author of $class forgot to define this"
73 44 0 0 $attr->{'Version'} ||= ${$class . '::VERSION';}
328 0 0 0 $parser ||= eval { do { $dbh->func('sql_parser_object') } }
342 48 0 684 $@ or $stmt->{'errstr'}
344 48 0 0 $@ || $stmt->{'errstr'}
610 68 0 4020 $attrib eq 'sql_identifier_case' || $attrib eq 'sql_quoted_identifier_case'
0 0 68 $value < 1 || $value > 4
722 24 0 0 $drv_version ||= eval { do { $derived->VERSION } }
734 24 72 0 $vmp{$_} || $_
775 8 2 28 ref $table or ref $attr
856 0 4 4 ref $table or ref $attr
1009 0 0 0 $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()
1221 0 0 0 $type == &DBI::SQL_BIGINT() or $type == &DBI::SQL_INTEGER()
0 0 0 $type == &DBI::SQL_BIGINT() or $type == &DBI::SQL_INTEGER() or $type == &DBI::SQL_SMALLINT()
0 0 0 $type == &DBI::SQL_BIGINT() or $type == &DBI::SQL_INTEGER() or $type == &DBI::SQL_SMALLINT() or $type == &DBI::SQL_TINYINT()
0 0 0 $type == &DBI::SQL_DECIMAL() or $type == &DBI::SQL_DOUBLE()
0 0 0 $type == &DBI::SQL_DECIMAL() or $type == &DBI::SQL_DOUBLE() or $type == &DBI::SQL_FLOAT()
0 0 0 $type == &DBI::SQL_DECIMAL() or $type == &DBI::SQL_DOUBLE() or $type == &DBI::SQL_FLOAT() or $type == &DBI::SQL_NUMERIC()
0 0 0 $type == &DBI::SQL_DECIMAL() or $type == &DBI::SQL_DOUBLE() or $type == &DBI::SQL_FLOAT() or $type == &DBI::SQL_NUMERIC() or $type == &DBI::SQL_REAL()
1275 0 0 0 $@ || $stmt->{'errstr'} || $err[0]
1300 64 0 258 not $data or ref $data ne 'ARRAY'
1470 382 0 102 $createMode || $lockMode || $flags->{'dropMode'}