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
174 1136 0 0 exists $$attr{$var} and carp("$var is given in DSN *and* \$attr during DBI->connect()")
248 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')
253 0 0 32 not defined $tbl_src and $$drh{'ImplementorClass'}->can('default_table_source')
445 52 442 82 defined $INC{'DBD/Gofer.pm'} && (caller 5)[0] eq 'DBI::Gofer::Execute'
468 192 0 384 exists $$dbh{$drv_pfx_meta} and not $$dbh{'sql_engine_in_gofer'}
471 0 0 384 defined $attr and defined $$dbh{$valid_attrs}
0 384 0 defined $attr and defined $$dbh{$valid_attrs} and not defined $$dbh{$valid_attrs}{$attr}
486 0 2112 0 defined $$dbh{$valid_attrs} and not defined $$dbh{$valid_attrs}{$attr}
489 0 2112 0 defined $$dbh{$ro_attrs} and not defined $$dbh{$ro_attrs}{$attr}
558 0 0 0 exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
592 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})
608 4008 64 0 $attrib eq 'sql_identifier_case' || $attrib eq 'sql_quoted_identifier_case' and $value < 1 || $value > 4
618 1112 2956 4 exists $$dbh{$drv_prefix . 'meta'} and $attrib eq $$dbh{$drv_prefix . 'meta'}
664 1684 2384 0 exists $$dbh{$ro_attrs} and $$dbh{$ro_attrs}{$attrib}
4068 0 0 exists $$dbh{$ro_attrs} and $$dbh{$ro_attrs}{$attrib} and defined $$dbh{$attrib}
916 36 0 0 $$dbh{'sql_handler'} eq 'SQL::Statement' and $$dbh{'sql_ram_tables'}
926 36 0 0 defined $$dbh{'sql_table_source'} and $$dbh{'sql_table_source'}->isa('DBI::DBD::SqlEngine::TableSource')
930 0 0 36 not defined $tbl_src and $$dbh{'Driver'}{'ImplementorClass'}->can('default_table_source')
983 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()
1192 108 0 0 $attr and defined $val
1290 0 0 0 $_ and $_ =~ s/ +$//
1307 1396 0 624 $$sth{'sql_stmt'}{'NAME'} and 'ARRAY' eq ref $$sth{'sql_stmt'}{'NAME'}
1469 476 16 16 defined $$dbh{'ReadOnly'} and not defined $$meta{'readonly'}
1512 0 204 168 defined $$meta{'table_name'} and $table ne $$meta{'table_name'}
1585 0 0 12 defined $reset_on_modify{$attrib} and delete @$meta{@{$reset_on_modify{$attrib};}}
1613 392 60 0 $$flags{'createMode'} and $$data{'sql_stmt'}{'table_defs'}

or 2 conditions

line l !l condition
62 40 0 $attr ||= {}
508 0 0 $$dbh{'sql_dialect'} || 'CSV'
513 0 0 $dbh->FETCH('sql_flags') || {}
589 0 0 $$dbh{$valid_attrs}{$attrib} or return $dbh->set_err($DBI::stderr, "Invalid attribute '${attrib}'")
661 2384 4 $$dbh{$valid_attrs}{$attrib} or return $dbh->set_err($DBI::stderr, "Invalid attribute '${attrib}'")
1313 0 0 $$sth{'sql_stmt'} || {}
1621 320 84 $$meta{'col_names'} || []

or 3 conditions

line l !l&&r !l&&!r condition
69 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"
72 40 0 0 $$attr{'Version'} ||= ${$class . '::VERSION';}
327 0 0 0 $parser ||= eval { do { $dbh->func('sql_parser_object') } }
341 48 0 676 $@ or $$stmt{'errstr'}
343 48 0 0 $@ || $$stmt{'errstr'}
608 64 0 4008 $attrib eq 'sql_identifier_case' || $attrib eq 'sql_quoted_identifier_case'
0 0 64 $value < 1 || $value > 4
720 24 0 0 $drv_version ||= eval { do { $derived->VERSION } }
732 24 0 72 $vmp{$_} || $_
773 8 0 24 ref $table or ref $attr
829 0 4 4 ref $table or ref $attr
983 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()
1195 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()
1249 32 0 0 $@ || $$stmt{'errstr'} || $err[0]
1274 64 0 252 not $data or ref $data ne 'ARRAY'
1439 376 0 100 $createMode || $lockMode || $$flags{'dropMode'}