Condition Coverage

lib/UR/DataSource/RDBMS.pm
Criterion Covered Total %
condition 142 299 47.4


and 3 conditions

line !l l&&!r l&&r condition
83 0 0 0 $table->{'db_committed'} and not $all
418 0 2695 0 $dbh and $dbh->{'Active'}
473 175 0 0 not ref $self and $self->isa('UR::Singleton')
619 103 0 25 $column_obj->nullable and $column_obj->nullable ne 'N'
706 0 0 0 $relation_type and $relation_type =~ /view/i
847 25 2 1 $column_count == 1 and $pk_column_count == 1
867 0 0 28 $table_data and %$table_data
1009 0 0 9 $r_table_name and $r_column_name
1083 0 0 12 $r_table_name and $r_column_name
1519 1417 3 5 $limit and $offset
1614 113 0 1334 defined $where_clause and length $where_clause
1646 1359 0 70 $self->alternate_db_dsn && $self->_create_sub_for_copying_to_alternate_db($self->alternate_db_dsn, $query_plan->{'loading_templates'})
1753 4 4 92 &$check_id_is_not_null($next_db_row) and not $seen_ids{$id}++
1811 0 12 6 $fk_sth and my $row = $fk_sth->fetchrow_hashref
1817 0 0 0 $row->{'FK_NAME'} and not $seen_fk_names{$row->{'FK_NAME'}}++
1923 84 58 0 exists $objects_in_database_saved_by_this_process{$class_name} and exists $objects_in_database_saved_by_this_process{$class_name}{$id}
2143 1533 0 0 ref $value eq 'HASH' and $value->{'operator'} eq '='
1533 0 0 ref $value eq 'HASH' and $value->{'operator'} eq '=' and !defied($value->{'value'}) || $value->{'value'} eq ''
2379 30 31 0 $insert{$table_name} and $update{$table_name}
2384 52 9 0 $delete{$table_name} and $update{$table_name}
2389 52 9 0 $delete{$table_name} and $insert{$table_name}
6 3 0 $delete{$table_name} and $insert{$table_name} and not $update{$table_name}
2406 12 7 0 $insert{$table_name} and $insert{$r_table_name}
2415 7 12 0 $update{$table_name} and $insert{$r_table_name}
2424 16 3 0 $delete{$r_table_name} and $delete{$table_name}
2433 16 3 0 $delete{$r_table_name} and $update{$table_name}
2689 48 0 0 $dbh->{'AutoCommit'} and not eval { do { $dbh->begin_work; 1 } }
2830 47 0 0 exists $params{'commit_on_success'} and $params{'commit_on_success'} eq '1'
2945 0 0 88 $table_obj and $object_to_save
3097 80 46 18 $table_class ne $class and $table_class . '::Ghost' ne $class
3199 0 0 50 defined $_ && $object_to_save->can($_)
3255 0 0 98 defined $_ && $object_to_save->can($_)
3393 0 0 2 not ref $self and $self->isa('UR::Singleton')
3462 5714 0 4 defined $_->calculate_sql and $_->calculate_sql ne ''
5408 310 12019 defined $_->column_name and $_->column_name ne ''
3625 150 78 0 $type and $type->isa('UR::Value')
3631 150 0 78 $type && $types{uc $type}
3674 33 136 15 $sql && $sql =~ /^(.*?)(?:\s+as)?\s+(\w+)\s*$/s

or 2 conditions

line l !l condition
221 0 0 $self->object_to_db_type($property->data_type) || 'Text'
243 0 0 $self->object_to_db_type($property->data_type) || 'Text'
459 0 3 $self->login || ''
3 0 $handle_class->errstr || '(no error)'
533 0 1 $self->owner || '%'
654 0 0 $ENV{$env} ||= 'ro'
808 28 0 $creation_method ||= 'create'
843 28 0 scalar $table_object->column_names || 0
844 24 4 scalar $table_object->primary_key_constraint_column_names || 0
845 6 22 scalar $table_object->fk_constraint_names || 0
1069 10 2 $data->{'FK_NAME'} || ''
2040 70 0 $user || ''
70 0 $password || ''
2221 48 69 $objects_by_class_name{$class_name} ||= []
2381 0 6 $prerequisites{"update $table_name"}{"insert $table_name"} ||= []
2382 0 6 $dependants{"insert $table_name"}{"update $table_name"} ||= []
2386 0 7 $prerequisites{"delete $table_name"}{"update $table_name"} ||= []
2387 0 7 $dependants{"update $table_name"}{"delete $table_name"} ||= []
2391 0 0 $prerequisites{"insert $table_name"}{"delete $table_name"} ||= []
2392 0 0 $dependants{"delete $table_name"}{"insert $table_name"} ||= []
2408 0 3 $prerequisites{"insert $table_name"}{"insert $r_table_name"} ||= []
2411 0 3 $dependants{"insert $r_table_name"}{"insert $table_name"} ||= []
2417 0 2 $prerequisites{"update $table_name"}{"insert $r_table_name"} ||= []
2420 0 2 $dependants{"insert $r_table_name"}{"update $table_name"} ||= []
2426 0 3 $prerequisites{"delete $r_table_name"}{"delete $table_name"} ||= []
2429 0 3 $dependants{"delete $table_name"}{"delete $r_table_name"} ||= []
2435 1 2 $prerequisites{"delete $r_table_name"}{"update $table_name"} ||= []
2438 1 2 $dependants{"update $table_name"}{"delete $r_table_name"} ||= []
2651 7 57 $column_objects_by_class_and_column_name{$class_name} ||= {}
3243 98 0 $class_object->table_for_property($_->property_name) || ''
3474 9825 2198 $sql_property->data_type || ''

or 3 conditions

line l !l&&r !l&&!r condition
86 0 0 0 $all or $column->last_object_revision eq '-'
101 0 0 0 $all or $column->last_object_revision eq '-'
135 5 22 16 $p->class_name eq 'UR::Object' or $p->class_name eq 'UR::Entity'
998 9 0 0 $data->{'FK_TABLE_SCHEM'} || $data->{'FKTABLE_SCHEM'}
9 0 0 $data->{'FK_TABLE_NAME'} || $data->{'FKTABLE_NAME'}
1001 9 0 0 $data->{'UK_TABLE_SCHEM'} || $data->{'PKTABLE_SCHEM'}
9 0 0 $data->{'UK_TABLE_NAME'} || $data->{'PKTABLE_NAME'}
1003 9 0 0 $data->{'FK_COLUMN_NAME'} || $data->{'FKCOLUMN_NAME'}
1005 9 0 0 $data->{'UK_COLUMN_NAME'} || $data->{'PKCOLUMN_NAME'}
1072 12 0 0 $data->{'FK_TABLE_SCHEM'} || $data->{'FKTABLE_SCHEM'}
12 0 0 $data->{'FK_TABLE_NAME'} || $data->{'FKTABLE_NAME'}
1075 12 0 0 $data->{'UK_TABLE_SCHEM'} || $data->{'PKTABLE_SCHEM'}
12 0 0 $data->{'UK_TABLE_NAME'} || $data->{'PKTABLE_NAME'}
1077 12 0 0 $data->{'FK_COLUMN_NAME'} || $data->{'FKCOLUMN_NAME'}
1079 12 0 0 $data->{'UK_COLUMN_NAME'} || $data->{'PKCOLUMN_NAME'}
1168 27 0 0 $data->{'KEY_SEQ'} || $data->{'ORDINAL_POSITION'}
1425 29 13 17 $sequence_for_class_name{$class_name} || $class_name->__meta__->id_generator
1522 3 0 1417 $limit || $offset
1683 70 0 0 $ds_type->_create_dbh_for_alternate_db($connect_string) || do { Carp::carp("Cannot connect to alternate DB for copying: $DBI::errstr"); return sub { } }
1726 90 0 0 $dbh->prepare($insert_sql) || Carp::croak("Prepare for insert on alternate DB table $table_name failed: " . $dbh->errstr)
1734 90 0 0 $dbh->prepare($check_id_exists_sql) || Carp::croak("Prepare for check ID select on alternate DB table $table_name failed: " . $dbh->errstr)
1787 78 12 0 $cached_fk_data_for_table{$class_meta->table_name} ||= $self->_load_fk_data_for_class_meta($class_meta)
1817 5 1 0 not @fk_data or $row->{'ORDINAL_POSITION'} == 1
6 0 0 not @fk_data or $row->{'ORDINAL_POSITION'} == 1 or $row->{'FK_NAME'} and not $seen_fk_names{$row->{'FK_NAME'}}++
1886 0 0 44 grep {not defined $_;} @fk_columns or not @fk_columns
1926 52 0 166 $class_name->isa($saved_class) or $saved_class->isa($class_name)
1940 0 48 0 $self->_lookup_class_for_table_name($pk_table_name_with_owner) || $self->_lookup_class_for_table_name($pk_table_name)
1952 0 0 0 $self->_lookup_class_for_table_name($fk_table_name_with_owner) || $self->_lookup_class_for_table_name($fk_table_name)
1963 0 0 0 $self->_lookup_class_for_table_name($pk_table_name_with_owner) || $self->_lookup_class_for_table_name($pk_table_name)
2049 90 0 0 $dbh ||= $self->get_default_handle
2089 0 0 0 $dbh ||= $self->get_default_handle
2122 0 1890 0 $escape ||= $self->_default_sql_like_escape_string
2143 0 0 0 !defied($value->{'value'}) || $value->{'value'} eq ''
2315 0 0 0 $changes = $insert{$table_name} or $changes = $delete{$table_name}
2785 0 0 0 @failures == $last_failure_count or $skip_fault_tolerance_check
2812 0 0 0 not $savepoint or $savepoint eq 'NONE'
2868 302 28 26 'UR::DataSource::RDBMS::Table'->get('table_name', $ds_table, 'data_source', $data_source_id) || 'UR::DataSource::RDBMS::Table'->get('table_name', $ds_table, 'data_source', 'UR::DataSource::Meta')
3454 0 89 3258 $sub_classification_method_name ||= $co->sub_classification_method_name
3455 0 0 3347 $sub_classification_meta_class_name ||= $co->sub_classification_meta_class_name
3456 126 230 2991 $subclassify_by ||= $co->subclassify_by
3538 3241 0 0 $sql_table_name ||= $sql_class->table_name