Branch Coverage

blib/lib/App/AutoCRUD/DataSource.pm
Criterion Covered Total %
branch 27 64 42.1


line true false branch
47 1 0 if (my $connect_spec = $self->config('dbh', 'connect')) { }
0 0 elsif (my $schema = $self->{'schema'}) { }
48 0 1 if (&does($connect_spec, 'ARRAY')) { }
1 0 elsif (&does($connect_spec, 'CODE')) { }
0 0 elsif (&does($connect_spec, '""')) { }
50 0 0 unless $dbh = 'DBI'->connect(@$connect_spec)
54 0 1 unless $dbh = &$connect_spec()
60 0 0 unless $dbh = eval $connect_spec
76 0 1 unless $dbh
88 0 1 if ($required_class and not $schema_class && $self->app->is_class_loaded($schema_class))
90 0 0 unless $self->{'loaded_class'} = $self->app->try_load_class($required_class)
96 1 0 unless ($schema_class)
99 1 0 unless ($self->app->is_class_loaded($schema_class))
145 0 12 if $descr
160 1 0 if (my(@other_tables) = sort(keys %$tables))
163 1 0 if (my $filter_include = $self->config('filters', 'include'))
166 1 0 if (my $filter_exclude = $self->config('filters', 'exclude'))
171 1 0 if (@other_tables)
186 0 1 unless my $config = $self->app->config('datasources', $self->name)
192 0 1 if (my $struct = $config->{'structure'})
194 0 0 unless my $struct_config = $self->app->config('structures', $struct)
228 16 0 unless ref $schema
244 7 2 if $colgroups
262 0 2 if not keys %$columns and $self->dbh->{'Driver'}{'Name'} eq 'Oracle'
274 0 3 if @others
276 0 3 unless my $col = $columns->{$col_name}
289 0 0 unless my $db_col = delete $columns->{$col_name}
298 1 1 $columns->{$b}{'is_pk'} ? :
2 2 $columns->{$a}{'is_pk'} ? :
300 2 0 if (my(@other_cols) = (sort $sort_pk keys %$columns))
320 0 0 unless my($owner, $table) = $dbh->selectrow_array($sql, {}, $db_schema, $syn_name)
332 0 11 unless my $meta_table = $self->schema->metadm->db_table($table)