Branch Coverage

blib/lib/DBIx/Diff/Schema.pm
Criterion Covered Total %
branch 77 168 45.8


line true false branch
97 9 2 if ($name =~ /(.+)\.(.+)/) { }
103 9 2 $sth->fetchrow_hashref ? :
127 0 40 if ($driver eq 'mysql')
132 0 40 if $type eq 'VIEW'
133 0 40 if $type eq 'INDEX'
134 0 40 if $schem =~ /^(information_schema)$/
136 0 40 if ($driver eq 'Pg') { }
40 0 elsif ($driver eq 'SQLite') { }
137 0 0 if $schem =~ /^(pg_catalog)$/
139 10 30 if $schem =~ /^(temp)$/
140 10 20 if $name =~ /^(sqlite_master|sqlite_temp_master)$/
143 20 0 length $schem ? :
179 0 0 if ($driver eq 'SQLite') { }
0 0 elsif ($driver eq 'mysql') { }
182 0 0 if (defined $wanted_table) { }
187 0 0 if /.+\.(.+)/
192 0 0 unless $row->{'type'} eq 'index'
193 0 0 unless grep {$_ eq $row->{'tbl_name'};} @wanted_tables
194 0 0 unless $row->{'name'} =~ /\Asqlite_autoindex_.+_(\d+)\z/
209 0 0 unless $row->{'TABLE_TYPE'} eq 'INDEX'
215 0 0 if (defined $wanted_table)
216 0 0 if ($wanted_table =~ /(.+)\.(.+)/) { }
217 0 0 unless $schem eq $1 and $table eq $2
219 0 0 unless $table eq $wanted_table
223 0 0 unless my $sql = $row->{'sqlite_sql'}
225 0 0 unless ($sql =~ s/\A\s*CREATE\s+(UNIQUE\s+)?INDEX\s+//is)
230 0 0 $1 ? :
231 0 0 $1 ? :
233 0 0 unless $sql =~ s/\A(\S+)\s+//s
238 0 0 unless $sql =~ s/\AON\s*(\S+)\s*\(\s*(.+)\s*\)//s
252 0 0 if (defined $wanted_table)
253 0 0 if ($wanted_table =~ /(.+)\.(.+)/) { }
254 0 0 unless $row->{'TABLE_SCHEM'} eq $1 and $row->{'TABLE_NAME'} eq $2
256 0 0 unless $row->{'TABLE_NAME'} eq $wanted_table
261 0 0 $row->{'NON_UNIQUE'} ? :
262 0 0 $row->{'INDEX_NAME'} eq 'PRIMARY' ? :
270 0 0 unless grep {$row->{'INDEX_NAME'} eq $_;} @index_names
273 0 0 if (@hashes == 1) { }
311 22 0 if ($table =~ /\./) { }
329 4 26 if ($c1->{'TYPE_NAME'} ne $c2->{'TYPE_NAME'})
334 4 22 if ($c1->{'NULLABLE'} xor $c2->{'NULLABLE'})
338 0 26 if (defined $c1->{'CHAR_OCTET_LENGTH'})
339 0 0 if ($c1->{'CHAR_OCTET_LENGTH'} != $c2->{'CHAR_OCTET_LENGTH'})
344 6 20 if (defined $c1->{'DECIMAL_DIGITS'})
345 0 6 if ($c1->{'DECIMAL_DIGITS'} != $c2->{'DECIMAL_DIGITS'})
350 0 26 if (($c1->{'mysql_is_auto_increment'} // 0) != ($c2->{'mysql_is_auto_increment'} // 0))
371 30 5 if (defined $c2) { }
373 8 22 if %$tres
381 30 9 if (defined $c1) { }
388 5 6 if @added
389 5 6 if @deleted
390 4 7 if %modified
423 6 0 &Scalar::Util::blessed($dbh1) ? :
6 0 defined $dbh1 ? :
6 0 if defined $dbh1 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 6 if ($arg_err)
424 6 0 &Scalar::Util::blessed($dbh2) ? :
6 0 defined $dbh2 ? :
6 0 if defined $dbh2 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 6 if ($arg_err)
425 6 0 !ref($table1) ? :
6 0 defined $table1 ? :
6 0 if defined $table1 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 6 if ($arg_err)
426 6 0 !ref($table2) ? :
6 0 defined $table2 ? :
6 0 if defined $table2 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 6 if ($arg_err)
430 1 5 unless check_table_exists($dbh1, $table1)
432 1 4 unless check_table_exists($dbh2, $table2)
500 5 0 &Scalar::Util::blessed($dbh1) ? :
5 0 defined $dbh1 ? :
5 0 if defined $dbh1 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 5 if ($arg_err)
501 5 0 &Scalar::Util::blessed($dbh2) ? :
5 0 defined $dbh2 ? :
5 0 if defined $dbh2 ? 1 : ($arg_err //= 'Required but not specified', 0)
0 5 if ($arg_err)
511 7 3 if (grep {$_ eq $t;} @tables2) { }
514 3 4 if %$tres
520 7 3 if (grep {$_ eq $t;} @tables1) { }
527 3 2 if @added
528 3 2 if @deleted
529 3 2 if %modified