Branch Coverage

blib/lib/DBIx/Class/Schema/Loader/DBI.pm
Criterion Covered Total %
branch 55 132 41.6


line true false branch
53 107 9 unless ($self->loader_class)
57 107 0 if (not $self->isa($subclass) and $self->load_optional_class($subclass))
60 0 107 if $] < "5.009005"
82 0 116 if (ref $quote_char eq "ARRAY")
130 3 0 unless $self->db_schema
138 12 0 $quoted ? :
146 12 0 if ($schema_name)
149 0 12 if (ref $system_schema) { }
150 0 0 if $schema_name =~ /$system_schema/ and not $schema =~ /$system_schema/
155 0 12 if $schema_name eq $system_schema and $schema ne $system_schema
160 0 12 if $matches
167 0 0 if (ref $system_table) { }
168 0 0 if $table_name =~ /$system_table/
171 0 0 if $table_name eq $system_table
174 0 0 if $matches
179 12 0 $self->_supports_db_schema ? :
201 0 8 unless !!@parts == !!(ref $constraint eq "ARRAY")
205 4 4 unless @parts
210 4 0 if $name =~ /$re/
219 233 9 unless defined $constraint
221 2 7 if ref $constraint eq "ARRAY"
249 0 781 unless &try(sub { local $^W = 0; my $sth = $self->_sth_for($table, undef, \"1 = 0"); $sth->execute; 1; } , &catch(sub { warn "Bad table or view '${table}', ignoring: $_\n"; 0; } ))
299 0 778 if $self->_disable_pk_detection
310 27 751 unless @primary
322 0 24 if $self->_disable_uniq_detection
324 0 24 unless ($self->dbh->can("statistics_info"))
338 0 0 if $row->{'TYPE'} eq "table" or defined $row->{'FILTER_CONDITION'} or not $row->{'INDEX_NAME'} or not defined $row->{'ORDINAL_POSITION'}
348 0 0 unless @cols == grep($_, @cols)
371 1536 4 unless ($comment)
373 1536 0 if $info
396 2194 2 if (not $comment and $dbh->can("column_info"))
397 2194 0 if (my $sth = &try(sub { $self->_dbh_column_info($dbh, undef, $table->schema, $table->name, $column_name); } ))
410 0 24 if $self->_disable_fk_detection
422 0 24 unless $sth
447 0 0 if defined $update_rule
448 0 0 if defined $delete_rule
452 0 0 $is_deferrable == 7 ? :
0 0 if defined $is_deferrable
456 0 0 if defined $var
459 0 0 if ($self->db_schema and $self->db_schema->[0] ne "%" and not &any(sub { $_ eq $uk_scm; } , @{$self->db_schema;}))
465 0 0 $self->_supports_db_schema ? :
474 0 0 if $delete_rule
475 0 0 if $update_rule
476 0 0 if defined $is_deferrable
492 0 0 exists $rels{$relid}{'attrs'} ? :
511 778 0 if (my $sth = &try(sub { $self->_dbh_column_info($dbh, undef, $table->schema, $table->name, "%"); } ))
513 0 2201 unless %$info
520 21 2180 if (defined $size and defined $info->{'DECIMAL_DIGITS'}) { }
262 1918 elsif (defined $size) { }
527 1538 663 $info->{'NULLABLE'} ? :
528 208 1993 if defined $info->{'COLUMN_DEF'}
549 0 2201 unless $result{$columns[$i]}
2201 0 if %{{} unless $result{$columns[$i]};}
556 0 0 if (defined $size and defined $sth->{'SCALE'}[$i]) { }
0 0 elsif (defined $size) { }
563 0 0 $sth->{'NULLABLE'}[$i] ? :
565 0 0 if ($column_info->{'data_type'} =~ /^(.*?)\((.*?)\)$/)
581 0 2201 if (defined $type_num and $type_num =~ /^-?\d+\z/ and $dbh->can("type_info"))
583 0 0 if $type_name
588 306 472 unless ($self->preserve_case)
595 0 306 if (keys %lc_colnames != keys %result)
613 766 12 wantarray ? :
624 0 0 $type_info ? :
634 0 2314 unless $dbh->can("table_info")
637 0 2314 unless $self->_table_info_matches($table, $info)
684 0 778 unless my $info = $self->_dbh_table_info($self->dbh, $table)