Branch Coverage

blib/lib/SQL/Translator/Parser/MySQL.pm
Criterion Covered Total %
branch 75 102 73.5


line true false branch
920 28 4 unless defined $main::RD_ERRORS
923 28 4 unless defined $main::RD_WARN
926 31 1 unless defined $main::RD_HINT
927 0 32 $translator->trace ? :
937 4 14 if ($1 and $1 > $parser_version) { }
942 1 31 unless defined $result
943 0 31 if $DEBUG
946 1 30 if $result->{'database_name'}
953 0 91 unless my $table = $schema->add_table("name", $tdata->{'table_name'})
970 0 473 unless my $field = $table->add_field("name", $fdata->{'name'}, "data_type", $fdata->{'data_type'}, "size", $fdata->{'size'}, "default_value", $fdata->{'default'}, "is_auto_increment", $fdata->{'is_auto_inc'}, "is_nullable", $fdata->{'null'}, "comments", $fdata->{'comments'})
973 15 458 if $fdata->{'is_primary_key'}
976 485 2826 if (my $val = $fdata->{$qual} || $$fdata{uc $qual})
977 468 17 if ref $val eq "ARRAY" and not @$val
982 1 472 if ($fdata->{'has_index'})
986 0 1 unless $table->add_index("name", "", "type", "NORMAL", "fields", $fdata->{'name'})
990 1 472 if ($fdata->{'is_unique'})
994 0 1 unless $table->add_constraint("name", "", "type", "UNIQUE", "fields", $fdata->{'name'})
999 0 1 unless $cdata->{'type'} eq "foreign_key"
1006 51 40 unless $tdata->{'indices'}
1010 0 60 unless my $index = $table->add_index("name", $idata->{'name'}, "type", uc $idata->{'type'}, "fields", $idata->{'fields'})
1014 33 58 unless $tdata->{'table_options'}
58 33 if (my(@options) = @{[] unless $tdata->{'table_options'};})
1018 0 58 $translator->parser_args->{'ignore_opts'} ? :
1020 0 58 if (@ignore_opts) { }
1026 0 0 unless (exists $ignores->{$option_key})
1033 0 58 unless $table->options(\@cleaned_options)
1036 17 74 unless $tdata->{'constraints'}
1046 0 129 unless my $constraint = $table->add_constraint("name", $cdata->{'name'}, "type", $cdata->{'type'}, "fields", $cdata->{'fields'}, "expression", $cdata->{'expression'}, "reference_table", $cdata->{'reference_table'}, "reference_fields", $cdata->{'reference_fields'}, "match_type", $cdata->{'match_type'} || '', "on_delete", $cdata->{'on_delete'} || $cdata->{'on_delete_do'}, "on_update", $cdata->{'on_update'} || $cdata->{'on_update_do'})
1071 0 42 unless $_->{'alias'}
0 3 unless $view->{'select'}{'columns'}
1072 0 0 unless $_->{'alias'}
3 0 unless $view->{'from'}{'tables'}
1097 170 303 if (not ref $size and $size eq 0)
1098 12 158 if (lc $type eq 'tinyint') { }
1 157 elsif (lc $type eq 'smallint') { }
0 157 elsif (lc $type eq 'mediumint') { }
59 98 elsif ($type =~ /^int(eger)?$/i) { }
0 98 elsif (lc $type eq 'bigint') { }
2 96 elsif (lc $type =~ /(float|double|decimal|numeric|real|fixed|dec)/) { }
1115 0 2 (ref $size || '') eq 'ARRAY' ? :
1124 13 460 if ($type =~ /^tiny(text|blob)$/i) { }
64 396 elsif ($type =~ /^(blob|text)$/i) { }
0 396 elsif ($type =~ /^medium(blob|text)$/i) { }
0 396 elsif ($type =~ /^long(blob|text)$/i) { }
1138 5 468 if ($field->data_type =~ /(set|enum)/i and not $field->size)
1141 0 5 unless $extra{'list'}
1142 7 5 if $len > $longest
1145 5 0 if $longest
1148 156 317 if ($changed)
1159 0 156 if exists $type_mapping{lc $type}
1160 5 151 if @$list