Branch Coverage

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


line true false branch
920 29 4 unless defined $main::RD_ERRORS
922 29 4 unless defined $main::RD_WARN
924 32 1 unless defined $main::RD_HINT
925 0 33 $translator->trace ? :
937 4 14 $1 && $1 > $parser_version ? :
943 1 32 unless defined $result
944 0 32 if $DEBUG
947 1 31 if $result->{'database_name'}
958 0 92 unless my $table = $schema->add_table("name", $tdata->{'table_name'})
978 0 475 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'})
981 16 459 if $fdata->{'is_primary_key'}
985 487 2838 if (my $val = $fdata->{$qual} || $$fdata{uc $qual})
986 470 17 if ref $val eq "ARRAY" and not @$val
991 1 474 if ($fdata->{'has_index'})
995 0 1 unless $table->add_index("name", "", "type", "NORMAL", "fields", $fdata->{'name'})
999 1 474 if ($fdata->{'is_unique'})
1003 0 1 unless $table->add_constraint("name", "", "type", "UNIQUE", "fields", $fdata->{'name'})
1008 0 1 unless $cdata->{'type'} eq "foreign_key"
1015 52 40 unless $tdata->{'indices'}
1019 0 60 unless my $index = $table->add_index("name", $idata->{'name'}, "type", uc $idata->{'type'}, "fields", $idata->{'fields'})
1023 34 58 unless $tdata->{'table_options'}
58 34 if (my(@options) = @{[] unless $tdata->{'table_options'};})
1026 0 58 $translator->parser_args->{'ignore_opts'} ? :
1028 0 58 if (@ignore_opts) { }
1033 0 0 unless (exists $ignores->{$option_key})
1040 0 58 unless $table->options(\@cleaned_options)
1043 17 75 unless $tdata->{'constraints'}
1055 0 130 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'})
1086 0 42 unless $_->{'alias'}
1087 0 3 unless $view->{'select'}{'columns'}
1088 0 0 unless $_->{'alias'}
1089 3 0 unless $view->{'from'}{'tables'}
1114 171 304 if (not ref $size and $size eq 0)
1115 12 159 if (lc $type eq 'tinyint') { }
1 158 elsif (lc $type eq 'smallint') { }
0 158 elsif (lc $type eq 'mediumint') { }
59 99 elsif ($type =~ /^int(eger)?$/i) { }
0 99 elsif (lc $type eq 'bigint') { }
2 97 elsif (lc $type =~ /(float|double|decimal|numeric|real|fixed|dec)/) { }
1137 0 2 (ref $size || '') eq 'ARRAY' ? :
1145 13 462 if ($type =~ /^tiny(text|blob)$/i) { }
64 398 elsif ($type =~ /^(blob|text)$/i) { }
0 398 elsif ($type =~ /^medium(blob|text)$/i) { }
0 398 elsif ($type =~ /^long(blob|text)$/i) { }
1162 5 470 if ($field->data_type =~ /(set|enum)/i and not $field->size)
1165 0 5 unless $extra{'list'}
1166 7 5 if $len > $longest
1169 5 0 if $longest
1173 156 319 if ($changed)
1183 0 156 if exists $type_mapping{lc $type}
1184 5 151 if @$list