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}
655 0 0 70 exists $registry->{$domain} and exists $registry->{$domain}{$type}
665 66 0 0 $self->{'connect_options_for'}{$domain} and $self->{'connect_options_for'}{$domain}{$type}
681 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}
812 0 0 0 !$INC{'threads.pm'} || $dbh->{'private_tid'} == 'threads'->tid and $dbh->{'private_pid'} == $$
845 0 68 8 defined $driver and defined $_[0]{'driver'}
68 6 2 defined $driver and defined $_[0]{'driver'} and $_[0]{'driver'} ne $driver
1014 0 0 0 my $sqls = $self->post_connect_sql and not $dbh->{'private_rose_db_did_post_connect_sql'}
1115 0 0 0 $dbh->{'Driver'}{'Name'} eq 'mysql' and $dbh->{'Driver'}{'Version'} < 4.012
1162 0 0 0 defined $self->{'dbh'} && $self->{'dbh'}{'Active'}
1200 0 0 0 $dbh->{'Driver'}{'Name'} eq 'mysql' and $dbh->{'Driver'}{'Version'} < 4.012
1233 0 0 0 defined $self->{'dbh'} && $self->{'dbh'}{'Active'}
1273 0 0 0 $dbh->{'Driver'}{'Name'} eq 'mysql' and $dbh->{'Driver'}{'Version'} < 4.012
1452 0 0 0 ref $columns && @$columns
1469 0 0 0 defined $schema and $self->likes_lowercase_schema_names
1472 0 0 0 defined $catalog and $self->likes_lowercase_catalog_names
1539 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
1579 0 0 0 $self->keyword_function_calls and $_[1] =~ /^\w+\(.*\)$/
1593 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1602 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1613 24 0 0 $self->keyword_function_calls and $time =~ /^\w+\(.*\)$/
1640 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1648 0 0 0 $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1770 30 0 0 $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1824 0 0 0 $size and $val->Size != $size
1960 2 72 2 $self->keyword_function_calls and $value =~ /^\w+\(.*\)$/
1978 0 40 218 not $error and $value =~ /$Interval_Regex/go
1993 10 0 2 $1 && $1 eq '-'
1997 12 0 0 defined $secs and $secs != int $secs
2146 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
2159 2 38 0 $self->keyword_function_calls and $dur =~ /^\w+\(.*\)$/
2181 32 8 0 $neg and $deltas{'mons'} > 0
2187 28 6 6 $neg and $deltas{'days'} > 0
2196 20 4 2 $neg and $deltas{'h'} > 0 || !$deltas{'h'} && $deltas{'m'} > 0 || !($deltas{'h'} || $deltas{'m'}) && $deltas{'s'} > 0
2204 20 6 0 not $deltas{'h'} and $deltas{'m'} < 0 || $deltas{'s'} < 0
2572 0 0 0 defined $fixup_file and -e $fixup_file

or 2 conditions

line l !l condition
1216 0 0 $dbh->errstr || $DBI::errstr || 'Possibly a referential integrity violation. Check the database error log for more information.'
1565 0 0 $_[1] || 1
1566 0 0 $_[1] || 1
2016 10 2 $2 || 0
2017 6 6 $3 || 0
2018 0 12 $secs || 0
2132 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
665 4 0 66 $args{'refresh'} or $self->{'connect_options_for'}{$domain} and $self->{'connect_options_for'}{$domain}{$type}
712 2 43 0 $self->{'dsn'} || $self->build_dsn(%$self)
812 0 0 0 !$INC{'threads.pm'} || $dbh->{'private_tid'} == 'threads'->tid
891 0 0 0 $self->{'_dbh_refcount'} or $self->{'_dbh_has_foreign_owner'}
1287 0 0 0 $ret or $ac
1344 0 0 0 $name =~ /\W/ or $self->is_reserved_word($name)
1356 0 0 0 $name =~ /\W/ or $self->is_reserved_word($name)
1462 0 0 0 $args{'catalog'} || $self->catalog
1463 0 0 0 $args{'schema'} || $self->schema
1494 0 0 0 $error or not $columns
1539 0 0 0 !$supports_catalog || $pk_info->{'TABLE_CAT'} eq $catalog
1579 0 0 0 $self->validate_boolean_keyword($_[1]) or $self->keyword_function_calls and $_[1] =~ /^\w+\(.*\)$/
1593 0 0 0 $self->validate_date_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1602 0 0 0 $self->validate_datetime_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1613 0 0 24 $self->validate_time_keyword($time) or $self->keyword_function_calls and $time =~ /^\w+\(.*\)$/
1640 0 0 0 $self->validate_timestamp_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1648 0 0 0 $self->validate_timestamp_keyword($date) or $self->keyword_function_calls and $date =~ /^\w+\(.*\)$/
1659 0 0 0 UNIVERSAL::isa($value, 'DateTime') or $self->validate_date_keyword($value)
1686 0 0 0 UNIVERSAL::isa($value, 'DateTime') or $self->validate_datetime_keyword($value)
1714 0 0 0 UNIVERSAL::isa($value, 'DateTime') or $self->validate_timestamp_keyword($value)
1742 0 0 0 UNIVERSAL::isa($value, 'DateTime') or $self->validate_timestamp_keyword($value)
1770 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+\(.*\)$/
1832 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
1834 0 0 0 $size || length $val
1838 0 0 0 $size || length($val) * 4
1842 0 0 0 $size || length($val) * 4
1846 0 0 0 $size || length $val
1900 0 0 0 ref $_[0] or defined $_[0]
1960 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+\(.*\)$/
1984 20 2 196 $2 or $3
2 0 196 $2 or $3 or $4
1986 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'}
2128 18 4 18 $units{'hours'} or $units{'minutes'}
4 2 16 $units{'hours'} or $units{'minutes'} or $units{'seconds'}
2159 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+\(.*\)$/
2190 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
2196 0 2 2 $deltas{'h'} > 0 || !$deltas{'h'} && $deltas{'m'} > 0 || !($deltas{'h'} || $deltas{'m'}) && $deltas{'s'} > 0
2204 2 0 4 $deltas{'m'} < 0 || $deltas{'s'} < 0
2379 0 0 0 $chase_meta->foreign_key($sub_name) || $chase_meta->relationship($sub_name)
2442 0 0 0 $chase_meta->foreign_key($sub_name) || $chase_meta->relationship($sub_name)
2445 0 0 0 $key or not $more
2619 0 0 0 $error or not defined $rosedb_devinit