Condition Coverage

blib/lib/Rose/DB.pm
Criterion Covered Total %
condition 112 330 33.9


and 3 conditions

line !l l&&!r l&&r condition
403 86 0 0 $args{'driver'} && !($args{'type'} || $args{'domain'})
419 2 16 68 exists $registry->{$domain} and exists $registry->{$domain}{$type}
668 0 0 70 exists $registry->{$domain} and exists $registry->{$domain}{$type}
678 66 0 0 $self->{'connect_options_for'}{$domain} and $self->{'connect_options_for'}{$domain}{$type}
694 32 0 541 $field ne "connect_options" and defined $value
32 224 317 $field ne "connect_options" and defined $value and not defined $self->{$field}
826 0 0 0 !$INC{'threads.pm'} || $dbh->{'private_tid'} == 'threads'->tid and $dbh->{'private_pid'} == $$
859 0 68 8 defined $driver and defined $_[0]{'driver'}
68 6 2 defined $driver and defined $_[0]{'driver'} and $_[0]{'driver'} ne $driver
1028 0 0 0 my $sqls = $self->post_connect_sql and not $dbh->{'private_rose_db_did_post_connect_sql'}
1129 0 0 0 $dbh->{'Driver'}{'Name'} eq "mysql" and $dbh->{'Driver'}{'Version'} < "4.012"
1176 0 0 0 defined $self->{'dbh'} && $self->{'dbh'}{'Active'}
1214 0 0 0 $dbh->{'Driver'}{'Name'} eq "mysql" and $dbh->{'Driver'}{'Version'} < "4.012"
1247 0 0 0 defined $self->{'dbh'} && $self->{'dbh'}{'Active'}
1287 0 0 0 $dbh->{'Driver'}{'Name'} eq "mysql" and $dbh->{'Driver'}{'Version'} < "4.012"
1466 0 0 0 ref $columns && @$columns
1483 0 0 0 defined $schema and $self->likes_lowercase_schema_names
1486 0 0 0 defined $catalog and $self->likes_lowercase_catalog_names
1553 0 0 0 !$supports_catalog || $pk_info->{'TABLE_CAT'} eq $catalog and $pk_info->{'TABLE_SCHEM'} eq $schema
0 0 0 !$supports_catalog || $pk_info->{'TABLE_CAT'} eq $catalog and $pk_info->{'TABLE_SCHEM'} eq $schema and $pk_info->{'TABLE_NAME'} eq $table
1593 0 0 0 $self->keyword_function_calls and $_[1] =~ /^\w+\(.*\)$/
1607 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1616 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1627 24 0 0 $self->keyword_function_calls and $time =~ /^\w+\(.*\)$/
1654 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1662 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1784 30 0 0 $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1838 0 0 0 $size and $val->Size != $size
1974 2 72 2 $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1992 0 40 218 not $error and $value =~ /$Interval_Regex/go
2007 10 0 2 $1 && $1 eq '-'
2011 12 0 0 defined $secs and $secs != int $secs
2160 32 8 0 $is_ago and defined $end_of_month_mode
40 0 0 $is_ago and defined $end_of_month_mode and $dt_duration->end_of_month_mode ne $end_of_month_mode
2173 2 38 0 $self->keyword_function_calls and $dur =~ /^\w+\(.*\)$/
2195 32 8 0 $neg and $deltas{'mons'} > 0
2201 28 6 6 $neg and $deltas{'days'} > 0
2210 20 4 2 $neg and $deltas{'h'} > 0 || !$deltas{'h'} && $deltas{'m'} > 0 || !($deltas{'h'} || $deltas{'m'}) && $deltas{'s'} > 0
2218 20 6 0 not $deltas{'h'} and $deltas{'m'} < 0 || $deltas{'s'} < 0
2586 0 0 0 defined $fixup_file and -e $fixup_file

or 2 conditions

line l !l condition
1230 0 0 $dbh->errstr || $DBI::errstr || 'Possibly a referential integrity violation. Check the database error log for more information.'
1579 0 0 $_[1] || 1
1580 0 0 $_[1] || 1
2030 10 2 $2 || 0
2031 6 6 $3 || 0
2032 0 12 $secs || 0
2146 18 6 $units{'hours'} || 0
20 4 $units{'minutes'} || 0
20 4 $units{'seconds'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
182 306 0 0 $class->driver_class($driver) || $class->driver_class('generic') || Carp::croak("No driver class found for drivers '${driver}' or 'generic'")
189 20 82 82 $Class_Loaded{$driver_class} or @{"${driver_class}::ISA";}
233 4 0 0 delete $args{'domain'} || $class->default_domain || Carp::croak('Missing domain')
236 4 0 0 delete $args{'type'} || $class->default_type || Carp::croak('Missing type')
256 14 0 0 $args{'domain'} || $class->default_domain || Carp::croak('Missing domain')
259 14 0 0 $args{'type'} || $class->default_type || Carp::croak('Missing type')
377 0 0 0 $cache->get_db(%args) || $db
385 0 0 0 $cache->get_db(%args) || $db
430 68 0 0 $db_info->{'driver'} || $args{'driver'}
435 68 0 0 $class->driver_class($driver) || $class->driver_class('generic') || Carp::croak("No driver class found for drivers '${driver}' or 'generic'")
487 72 0 0 $self->{'_origin_class'} || ref $self
503 80 0 0 $class->driver_class($arg) || $arg
678 4 0 66 $args{'refresh'} or $self->{'connect_options_for'}{$domain} and $self->{'connect_options_for'}{$domain}{$type}
725 2 43 0 $self->{'dsn'} || $self->build_dsn(%$self)
826 0 0 0 !$INC{'threads.pm'} || $dbh->{'private_tid'} == 'threads'->tid
905 0 0 0 $self->{'_dbh_refcount'} or $self->{'_dbh_has_foreign_owner'}
1301 0 0 0 $ret or $ac
1358 0 0 0 $name =~ /\W/ or $self->is_reserved_word($name)
1370 0 0 0 $name =~ /\W/ or $self->is_reserved_word($name)
1476 0 0 0 $args{'catalog'} || $self->catalog
1477 0 0 0 $args{'schema'} || $self->schema
1508 0 0 0 $error or not $columns
1553 0 0 0 !$supports_catalog || $pk_info->{'TABLE_CAT'} eq $catalog
1593 0 0 0 $self->validate_boolean_keyword($_[1]) or $self->keyword_function_calls and $_[1] =~ /^\w+\(.*\)$/
1607 0 0 0 $self->validate_date_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1616 0 0 0 $self->validate_datetime_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1627 0 0 24 $self->validate_time_keyword($time) or $self->keyword_function_calls and $time =~ /^\w+\(.*\)$/
1654 0 0 0 $self->validate_timestamp_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1662 0 0 0 $self->validate_timestamp_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1673 0 0 0 UNIVERSAL::isa($value, "DateTime") or $self->validate_date_keyword($value)
1700 0 0 0 UNIVERSAL::isa($value, "DateTime") or $self->validate_datetime_keyword($value)
1728 0 0 0 UNIVERSAL::isa($value, "DateTime") or $self->validate_timestamp_keyword($value)
1756 0 0 0 UNIVERSAL::isa($value, "DateTime") or $self->validate_timestamp_keyword($value)
1784 0 0 30 not defined $value or UNIVERSAL::isa($value, "Time::Clock")
0 0 30 not defined $value or UNIVERSAL::isa($value, "Time::Clock") or $self->validate_time_keyword($value)
0 0 30 not defined $value or UNIVERSAL::isa($value, "Time::Clock") or $self->validate_time_keyword($value) or $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1846 0 0 0 $val =~ s/^0x// or $val =~ s/^X'(.*)'$/$1/
0 0 0 $val =~ s/^0x// or $val =~ s/^X'(.*)'$/$1/ or $val =~ /^[0-9a-f]+$/i
1848 0 0 0 $size || length $val
1852 0 0 0 $size || length($val) * 4
1856 0 0 0 $size || length($val) * 4
1860 0 0 0 $size || length $val
1914 0 0 0 ref $_[0] or defined $_[0]
1974 0 0 76 not defined $value or UNIVERSAL::isa($value, "DateTime::Duration")
0 0 76 not defined $value or UNIVERSAL::isa($value, "DateTime::Duration") or $self->validate_interval_keyword($value)
0 2 74 not defined $value or UNIVERSAL::isa($value, "DateTime::Duration") or $self->validate_interval_keyword($value) or $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1998 20 2 196 $2 or $3
2 0 196 $2 or $3 or $4
2000 6 2 14 $sign or defined $units{'hours'}
8 0 14 $sign or defined $units{'hours'} or defined $units{'minutes'}
2 2 12 $sign or defined $units{'hours'} or defined $units{'minutes'} or defined $units{'seconds'}
2142 18 4 18 $units{'hours'} or $units{'minutes'}
4 2 16 $units{'hours'} or $units{'minutes'} or $units{'seconds'}
2173 34 0 40 not defined $dur or $self->validate_interval_keyword($dur)
34 0 40 not defined $dur or $self->validate_interval_keyword($dur) or $self->keyword_function_calls and $dur =~ /^\w+\(.*\)$/
2204 20 2 18 $deltas{'h'} or $deltas{'m'}
2 2 16 $deltas{'h'} or $deltas{'m'} or $deltas{'s'}
2 2 14 $deltas{'h'} or $deltas{'m'} or $deltas{'s'} or $dur->nanoseconds
2210 0 2 2 $deltas{'h'} > 0 || !$deltas{'h'} && $deltas{'m'} > 0 || !($deltas{'h'} || $deltas{'m'}) && $deltas{'s'} > 0
2218 2 0 4 $deltas{'m'} < 0 || $deltas{'s'} < 0
2393 0 0 0 $chase_meta->foreign_key($sub_name) || $chase_meta->relationship($sub_name)
2456 0 0 0 $chase_meta->foreign_key($sub_name) || $chase_meta->relationship($sub_name)
2459 0 0 0 $key or not $more
2633 0 0 0 $error or not defined $rosedb_devinit