Condition Coverage

blib/lib/DBIx/Class/Storage/DBI.pm
Criterion Covered Total %
condition 133 241 55.1


and 2 conditions

line l !l condition
947 0 52 $_[0]->_populate_dbh and 1
2630 0 4 not $caught and scalar keys %result

and 3 conditions

line !l l&&!r l&&r condition
275 650 68381 24 defined $pid and $pid != $$
69031 0 24 defined $pid and $pid != $$ and my $dbh = $_[0]->_dbh
634 0 7 453 keys %attrs and ref $args[0] ne 'CODE'
687 631 11 168 not defined $conninfo->[0] and $ENV{'DBI_DSN'}
962 0 0 99 $_[0]->ensure_connected && $_[0]->_dbh
1304 399 38 7 not $started_connected and defined $self->_dbh
1315 40 0 3 ref $self->_dbi_connect_info->[0] and &reftype($self->_dbi_connect_info->[0]) eq 'CODE'
1486 653 0 0 $INC{'Apache/DBI.pm'} and $ENV{'MOD_PERL'}
1536 471 2 0 $dbh->{'HandleError'} and ref $dbh->{'HandleError'} ne '__DBIC__DBH__ERROR__HANDLER__'
1611 609 0 8585 not $self->transaction_depth and defined $self->_dbh_autocommit
609 8585 0 not $self->transaction_depth and defined $self->_dbh_autocommit and not $self->_dbh_autocommit
1641 2 0 130 not $self->transaction_depth and defined $self->_dbh_autocommit
2 130 0 not $self->transaction_depth and defined $self->_dbh_autocommit and not $self->_dbh_autocommit
1685 0 10711 7883 not $ENV{'DBIC_DT_SEARCH_OK'} and $op eq 'select'
10711 7883 0 not $ENV{'DBIC_DT_SEARCH_OK'} and $op eq 'select' and &first(sub { $_->[1]->isa('DateTime') if length ref $_->[1] and &blessed($_->[1]); } , @$bind)
1691 13937 3 4 length ref $_->[1] and &blessed($_->[1])
1759 0 4 140 $_ && $_->[1]
1886 19953 2 225 length ref $bind->[$i][1] && &is_plain_value($bind->[$i][1])
1908 7677 0 0 $colinfo->{$col}{'auto_nextval'} and !exists $to_insert->{$col} || &is_literal_value($to_insert->{$col})
2316 103604 0 50 length ref $v && &is_plain_value($v)
2337 2 7688 0 not defined $err and !defined($rv) || $sth->err
2353 0 2 3 $i <= $#$tuple_status and not ref $tuple_status->[$i]
2417 747 0 1 $_[3]{'software_limit'} and $_[3]{'offset'} || $_[3]{'rows'}
2476 7796 81 11 $attrs->{'_grouped_by_distinct'} and $attrs->{'collapse'}
7478 352 47 $prefetch_needs_subquery || !$attrs->{'_simple_passthrough_construction'} and $attrs->{'group_by'}
352 0 47 $prefetch_needs_subquery || !$attrs->{'_simple_passthrough_construction'} and $attrs->{'group_by'} and @{$attrs->{'group_by'};}
352 0 47 $prefetch_needs_subquery || !$attrs->{'_simple_passthrough_construction'} and $attrs->{'group_by'} and @{$attrs->{'group_by'};} and my $grp_aliases = &try(sub { $self->_resolve_aliastypes_from_select_args({'from', $attrs->{'from'}, 'group_by', $attrs->{'group_by'}}); } )
6121 1709 0 $attrs->{'rows'} and $attrs->{'collapse'}
2520 86 0 7801 not $prefetch_needs_subquery and ref $attrs->{'from'}
86 3 7798 not $prefetch_needs_subquery and ref $attrs->{'from'} and &reftype($attrs->{'from'}) eq 'ARRAY'
3 6954 844 not $prefetch_needs_subquery and ref $attrs->{'from'} and &reftype($attrs->{'from'}) eq 'ARRAY' and @{$attrs->{'from'};} != 1
2656 0 0 0 defined $type_num and $dbh->can('type_info')
2871 0 0 1 require File::Path and File::Path::mkpath(["$dir"])
2913 4 0 0 -e $filename and $version eq $schema_version
3195 1373 207 69 $join_count && $join_count > 1

or 2 conditions

line l !l condition
684 810 0 $self->{'_dbi_connect_info'} || []
939 9909 95 $_[0]->_dbh || (return 0)
943 6 0 $_[0]->_dbh || (return 0)
1336 40 0 $self->_dbi_connect_info->[0] || ''
1714 34443 6526 $colinfos ||= {%{$self->_resolve_column_info($ident);}}
1792 41700 378 $self->_dbh_details->{'_datatype_map_cache'} ||= {}
1794 684 1713 $self->bind_attribute_by_data_type($_->{'sqlt_datatype'}) || undef
1837 0 0 $sth->errstr || $sth->err || 'Unknown error: execute() returned false, but error flags were not set...'
2337 0 0 $sth->errstr || 'UNKNOWN ERROR ($sth->errstr is unset)'
2871 0 0 $! || $@ || 'error unknown'
2882 2 0 $databases ||= ['MySQL', 'SQLite', 'PostgreSQL']
2885 0 2 $schema->schema_version || '1.x'

or 3 conditions

line l !l&&r !l&&!r condition
219 34 229 0 defined $seek_and_destroy{$_} or delete $seek_and_destroy{$_}
641 452 0 1 $attrs{'AutoCommit'} or $ENV{'DBIC_UNSAFE_AUTOCOMMIT_OK'}
840 819 2218 44818 $self->{'_in_do_block'} or $self->transaction_depth
876 4 10 6 $_[0]->on_disconnect_call || ()
1065 472 0 3 $_[0]->on_connect_call || ()
1253 67 3 445 $self->_driver_determined || $self->{'_in_determine_driver'}
1337 32 4 4 $drv ||= $ENV{'DBI_DRIVER'}
1601 9194 0 0 $self->transaction_depth or $self->_dbh->FETCH('AutoCommit')
1631 244 0 0 $self->transaction_depth or $self->_dbh->FETCH('AutoCommit')
1679 10711 7887 0 $from || $ident
1721 0 40853 0 $ret->{'sqlt_datatype'} ||= $colinfos->{$col}{'data_type'}
1724 0 10517 0 $ret->{'sqlt_size'} ||= $colinfos->{$col}{'size'}
1743 198 2 43423 ref $_ ne 'ARRAY' || @$_ != 2
0 2225 22059 !keys(%{$$_[0];}) || exists $_->[0]{'dbd_attrs'} || $_->[0]{'sqlt_datatype'}
1867 0 0 0 $dbh->errstr || sprintf(q[$dbh->prepare() of '%s' through %s failed *silently* without an exception and/or setting $dbh->errstr], length $sql > 20 ? substr($sql, 0, 20) . '...' : $sql, 'DBD::' . $dbh->{'Driver'}{'Name'})
1880 0 0 0 $bind->[$i][0]{'dbd_size'} || $self->_max_column_bytesize($bind->[$i][0])
1908 0 0 0 !exists $to_insert->{$col} || &is_literal_value($to_insert->{$col})
1920 0 0 0 $colinfo->{$col}{'sequence'} ||= $self->_dbh_get_autoinc_seq($self->_get_dbh, $source, $col)
2337 0 0 7688 !defined($rv) || $sth->err
2361 2 0 0 $tuple_status->[$i][1] || $err
2417 0 1 0 $_[3]{'offset'} || $_[3]{'rows'}
2459 0 0 207 $attrs->{'offset'} =~ /\D/ or $attrs->{'offset'} < 0
2464 0 0 1743 $attrs->{'rows'} =~ /\D/ or $attrs->{'rows'} <= 0
2476 0 399 7478 $prefetch_needs_subquery || !$attrs->{'_simple_passthrough_construction'}
2515 1676 0 6119 $attrs->{'rows'} || ()
133 1543 6119 $attrs->{'offset'} || ()
2871 1 1 0 -d $dir or require File::Path and File::Path::mkpath(["$dir"])
2886 2 0 0 $version ||= $schema_version
3124 0 0 1 $self->{'datetime_parser'} ||= do { $self->build_datetime_parser(@_) }
3240 0 0 0 $max_size or $self->_is_lob_type($data_type)
3245 0 0 0 $max_size or $self->_dbic_connect_attributes->{'LongReadLen'}
0 0 0 $max_size or $self->_dbic_connect_attributes->{'LongReadLen'} or $self->_get_dbh->{'LongReadLen'}
3251 0 0 0 $data_type =~ /lob|bfile|text|image|bytea|memo/i or $data_type =~ /^long(?:\s+(?:raw|bit\s*varying|varbit|binary |varchar|character\s*varying|nvarchar |national\s*character\s*varying))?\z/xi
3259 0 0 0 $data_type =~ /blob|bfile|image|bytea/i or $data_type =~ /^long(?:\s+(?:raw|bit\s*varying|varbit|binary))?\z/xi
3265 0 0 0 $data_type =~ /^(?:clob|memo)\z/i or $data_type =~ /^long(?:\s+(?:varchar|character\s*varying|nvarchar |national\s*character\s*varying))\z/xi
3273 0 0 0 $self->_is_binary_lob_type($data_type) or $data_type =~ /(?:var)?(?:binary|bit|graphic)(?:\s*varying)?/i