Branch Coverage

blib/lib/Rose/DB/Object/Metadata/Auto.pm
Criterion Covered Total %
branch 0 386 0.0


line true false branch
72 0 0 unless defined $schema
74 0 0 if (defined $schema)
76 0 0 if ($db->likes_lowercase_schema_names) { }
0 0 elsif ($db->likes_uppercase_schema_names) { }
97 0 0 if (defined $catalog)
99 0 0 if ($db->likes_lowercase_catalog_names) { }
0 0 elsif ($db->likes_uppercase_catalog_names) { }
124 0 0 unless $class = $self->class
127 0 0 unless my $dbh = $db->dbh
133 0 0 if $db->likes_lowercase_table_names
143 0 0 unless (defined $sth)
160 0 0 unless !$supports_catalog || $col_info->{'TABLE_CAT'} eq $catalog and $col_info->{'TABLE_SCHEM'} eq $schema and $col_info->{'TABLE_NAME'} eq $table_unquoted
163 0 0 unless (defined $col_info->{'COLUMN_NAME'})
178 0 0 if ($error or not keys %columns)
188 0 0 wantarray ? :
202 0 0 if ($self->method_name_is_reserved($method, $self->class))
214 0 0 if ($self->method_name_is_reserved($method, $self->class))
230 0 0 unless my $column_class = $meta_class->column_type_class($type) || $meta_class->column_type_class('scalar')
234 0 0 unless ($self->column_class_is_loaded($column_class))
264 0 0 if (keys %$key_columns > 1) { }
277 0 0 if ($local_column =~ s/_$foreign_column$//) { }
285 0 0 if (not $meta->class->can($local_column)) { }
299 0 0 if ($Seen_FK_Name{$class}{$name})
329 0 0 if ($self->method_name_is_reserved($alias, $self->class))
345 0 0 unless (defined wantarray)
371 0 0 if ($error or not $Missing_PK_OK || @$pk_columns)
373 0 0 unless defined $error
382 0 0 wantarray ? :
391 0 0 unless (defined wantarray)
406 0 0 unless $class = $self->class
409 0 0 unless my $dbh = $db->dbh
416 0 0 $db->likes_lowercase_table_names ? :
422 0 0 unless defined $sth
435 0 0 unless $fk_info->{'FK_TABLE_CAT'} eq $catalog and $fk_info->{'FK_TABLE_SCHEM'} eq $schema and $fk_info->{'FK_TABLE_NAME'} eq $table
464 0 0 if $seen_fk_id{$fk_id}++
471 0 0 unless ($foreign_class)
477 0 0 unless (UNIVERSAL::isa($foreign_class, 'Rose::DB::Object'))
482 0 0 if $@ or not UNIVERSAL::isa($foreign_class, 'Rose::DB::Object')
486 0 0 unless ($foreign_class)
488 0 0 defined $_ ? :
507 0 0 @$fks == $total_fks ? :
511 0 0 unless ($no_warnings or $Warned{$key}++ or $self->allow_auto_initialization)
532 0 0 if defined $key_name
534 0 0 if (defined $key_name and length $key_name)
546 0 0 if $seen{$fk_info->{'RDBO_FK_ID'}}++
550 0 0 unless defined $fk->class
552 0 0 unless (defined $fk->name)
564 0 0 if ($error)
571 0 0 wantarray ? :
581 0 0 if (not $args{'replace_existing'} and keys %$auto_columns != @$existing_columns) { }
0 0 elsif ($args{'replace_existing'} or not @$existing_columns) { }
585 0 0 if $self->column($name)
602 0 0 defined $args{'indent'} ? :
603 0 0 defined $args{'braces'} ? :
605 0 0 unless ($indent =~ /^\d+$/)
607 0 0 defined $args{'indent'} ? :
613 0 0 $for_setup ? :
615 0 0 $for_setup ? :
616 0 0 $for_setup ? :
618 0 0 if ($braces eq 'bsd') { }
0 0 elsif ($braces eq 'k&r') { }
628 0 0 defined $args{'braces'} ? :
637 0 0 if length $name > $max_len
638 0 0 if length $name < $min_len or $min_len < 0
650 0 0 $for_setup ? :
654 0 0 if ($for_setup)
672 0 0 if (not $Sort_Columns_Alphabetically and defined $pos1 and defined $pos2)
684 0 0 defined $args{'indent'} ? :
685 0 0 defined $args{'braces'} ? :
687 0 0 unless ($indent =~ /^\d+$/)
689 0 0 defined $args{'indent'} ? :
697 0 0 $for_setup ? :
701 0 0 $for_setup ? :
702 0 0 $for_setup ? :
704 0 0 if ($braces eq 'bsd') { }
0 0 elsif ($braces eq 'k&r') { }
714 0 0 defined $args{'braces'} ? :
725 0 0 unless @fk_defs
735 0 0 $fk_def eq $fk_defs[-1] ? :
738 0 0 if ($for_setup) { }
762 0 0 defined $args{'indent'} ? :
763 0 0 defined $args{'braces'} ? :
765 0 0 unless ($indent =~ /^\d+$/)
767 0 0 defined $args{'indent'} ? :
775 0 0 $for_setup ? :
779 0 0 $for_setup ? :
780 0 0 $for_setup ? :
782 0 0 if ($braces eq 'bsd') { }
0 0 elsif ($braces eq 'k&r') { }
792 0 0 defined $args{'braces'} ? :
800 0 0 if $rel->can('foreign_key') and $rel->foreign_key
804 0 0 unless @rel_defs
814 0 0 $rel_def eq $rel_defs[-1] ? :
817 0 0 if ($for_setup) { }
841 0 0 defined $args{'style'} ? :
842 0 0 defined $args{'indent'} ? :
843 0 0 defined $args{'braces'} ? :
845 0 0 unless ($indent =~ /^\d+$/)
847 0 0 defined $args{'indent'} ? :
855 0 0 if ($style eq 'array') { }
0 0 elsif ($style eq 'object') { }
865 0 0 defined $args{'style'} ? :
876 0 0 unless @uk_defs
880 0 0 $for_setup ? :
884 0 0 $for_setup ? :
885 0 0 $for_setup ? :
887 0 0 if (@uk_defs == 1) { }
0 0 elsif ($braces eq 'bsd') { }
0 0 elsif ($braces eq 'k&r') { }
901 0 0 defined $args{'braces'} ? :
905 0 0 if ($for_setup) { }
907 0 0 if (@uk_defs == 1) { }
935 0 0 if (@uk_defs == 1) { }
951 0 0 defined $args{'indent'} ? :
953 0 0 $for_setup ? :
960 0 0 if (my $value = $self->$attr)
962 0 0 if ($for_setup) { }
973 0 0 $for_setup ? :
0 0 @attrs ? :
980 0 0 if $value =~ /^\d+$/
995 0 0 defined $args{'indent'} ? :
1000 0 0 if ($args{'for_setup'})
1015 0 0 unless @pk_cols
1018 0 0 if ($args{'for_setup'}) { }
1020 0 0 defined $args{'indent'} ? :
1036 0 0 defined $args{'indent'} ? :
1037 0 0 defined $args{'braces'} ? :
1044 0 0 unless ref $isa
1055 0 0 if ($rel->can('map_class')) { }
1067 0 0 if (%use and not $self->auto_load_related_classes)
1072 0 0 if (defined $args{'use_setup'} and not $args{'use_setup'}) { }
1098 0 0 if ($braces eq 'bsd') { }
0 0 elsif ($braces eq 'k&r') { }
1108 0 0 defined $args{'braces'} ? :
1143 0 0 if exists $args{'with_unique_keys'} and not $args{'with_unique_keys'}
1147 0 0 unless (length $pk_cols)
1155 0 0 if (not $args{'replace_existing'} and @$auto_unique_keys != @$existing_unique_keys) { }
0 0 elsif ($args{'replace_existing'} or not @$existing_unique_keys) { }
1163 0 0 if $id eq join("\000", sort(map({lc $_;} $existing_key->column_names)))
1167 0 0 if $pk_cols eq join("\000", $key->column_names)
1184 0 0 if (exists $args{'with_foreign_keys'} and not $args{'with_foreign_keys'})
1193 0 0 if (not $args{'replace_existing'} and @$auto_foreign_keys != @$existing_foreign_keys) { }
0 0 elsif ($args{'replace_existing'} or not @$existing_foreign_keys) { }
1201 0 0 if $id eq __fk_key_to_id($existing_key)
1233 0 0 unless ($primary_key_columns and @$primary_key_columns)
1235 0 0 if ($Missing_PK_OK) { }
1262 0 0 if (delete $args{'restore_types'})
1264 0 0 if (my $types = $Auto_Rel_Types{$self->class})
1270 0 0 if (exists $args{'relationship_types'} or exists $args{'types'} or exists $args{'with_relationships'}) { }
1279 0 0 exists $args{'with_relationships'} ? :
0 0 exists $args{'types'} ? :
0 0 exists $args{'relationship_types'} ? :
1281 0 0 if (ref $types) { }
0 0 elsif ($types) { }
1300 0 0 if (delete $args{'replace_existing'})
1304 0 0 unless $types{$rel->type}
1321 0 0 if ($self->can($method))
1350 0 0 unless $f_class and UNIVERSAL::isa($f_class, 'Rose::DB::Object')
1368 0 0 if ($key eq $local_key)
1379 0 0 if ($key eq $remote_key)
1386 0 0 unless ($local_unique and $remote_unique)
1398 0 0 unless $rel->can('foreign_key')
1399 0 0 unless my $rel_fk = $rel->foreign_key
1401 0 0 if ($rel_fk eq $fk)
1422 0 0 if ($cm->is_map_class($class) and not $args{'include_map_class_relationships'})
1424 0 0 if $Debug
1443 0 0 if $relationship->id eq $rel->id
1447 0 0 unless ($f_meta->relationship($name))
1449 0 0 if $Debug
1477 0 0 unless $f_class and UNIVERSAL::isa($f_class, 'Rose::DB::Object')
1486 0 0 if ($rel->can('map_class')) { }
1488 0 0 unless $rel->map_class eq $class
1492 0 0 unless $rel->class eq $class
1495 0 0 if ($rel->type eq 'one to one' and not $rel->foreign_key)
1499 0 0 unless my $col_map = $rel->column_map
1503 0 0 unless $key_cols->{$remote_col}
1506 0 0 if $skip
1523 0 0 if ($key eq $local_key)
1534 0 0 if ($key eq $remote_key)
1541 0 0 if ($local_unique and $remote_unique)
1550 0 0 if ($cm->is_map_class($class) and not $args{'include_map_class_relationships'})
1552 0 0 if $Debug
1571 0 0 if $relationship->id eq $rel->id
1575 0 0 unless ($f_meta->relationship($name))
1577 0 0 if $Debug
1598 0 0 unless $cm->is_map_class($class)
1603 0 0 unless @fks == 2
1609 0 0 unless $key_cols1 and keys %$key_cols1 and $key_cols2 and keys %$key_cols2
1639 0 0 if $relationship->id eq $rel->id
1642 0 0 unless ($meta->relationship($name))
1644 0 0 if $Debug
1663 0 0 if ($column->default =~ /^\w+\(.*\)$/)
1701 0 0 unless ($args{'stay_connected'})