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