Branch Coverage

lib/SQL/Shell.pm
Criterion Covered Total %
branch 88 340 25.8


line true false branch
95 0 1 exists $overrides->{'LongTruncOk'} ? :
0 1 exists $overrides->{'NULL'} ? :
113 0 1 if (_is_connected($self->{'dbh'}))
121 0 0 unless $SQL::Shell::Settings{$key}
128 0 2 unless $SQL::Shell::Settings{$key}
135 0 0 unless ref $renderers eq 'HASH'
144 0 0 unless defined $renderers
145 0 0 unless ref $renderers eq 'ARRAY'
147 0 0 unless delete $self->{'renderers'}{$_}
154 0 1 unless ref $cmds eq 'HASH'
163 0 1 unless defined $cmds
164 0 1 unless ref $cmds eq 'ARRAY'
166 0 1 unless delete $self->{'commands'}{$_}
185 0 0 unless _is_connected($self->{'dbh'})
208 1 0 if $self->{'settings'}{'Verbose'}
210 0 1 unless my $file = 'IO::File'->new("$script")
214 1 1 unless $self->execute_cmd($_)
226 1 0 if defined $history
261 0 0 unless $level =~ /^(commands|queries|all)$/
264 0 0 unless $self->{'LogFH'} = 'IO::File'->new(">> $file")
266 0 0 if $settings->{'Verbose'}
274 0 0 if $settings->{'Verbose'} and defined $self->{'LogFH'}
290 0 0 if ($@ and not $settings->{'AutoCommit'})
301 0 52 if _is_connected($self->{'dbh'})
310 0 0 if $@
332 1 0 unless my $dbh = $self->_dbh
340 0 0 unless my $dbh = $self->_dbh
365 1 0 unless my $dbh = $self->_dbh
373 1 0 unless my $dbh = $self->_dbh
382 1 0 unless my $dbh = $self->_dbh
387 0 0 if (defined $settings->{'LogLevel'} and $settings->{'LogLevel'} eq 'queries' || $settings->{'LogLevel'} eq 'all')
396 0 0 unless my $dbh = $self->_dbh
399 0 0 if $rows eq '0E0'
402 0 0 $cmd eq 'delete' ? :
0 0 $cmd eq 'update' ? :
0 0 $cmd eq 'insert' ? :
0 0 scalar $cmd =~ /(create|alter|drop)/ ? :
410 0 0 unless $rows == -1 and not $self->{'settings'}{'Verbose'}
417 1 0 unless my $dbh = $self->_dbh
425 1 0 unless my $dbh = $self->_dbh
433 1 0 unless my $dbh = $self->_dbh
441 0 0 unless my $dbh = $self->_dbh
444 0 0 if ($self->{'settings'}{'Interactive'})
448 0 0 unless $response eq 'yes'
455 0 0 if $self->{'settings'}{'Verbose'}
463 1 0 unless defined $delimiter
464 0 1 if $cf and not $ct
465 0 1 if not $cf and $ct
466 0 1 if ($cf and $ct)
468 0 0 unless 'Locale::Recode'->resolveAlias($cf)
469 0 0 unless 'Locale::Recode'->resolveAlias($ct)
471 1 0 unless my $dbh = $self->_dbh
473 0 0 if $uri_decode and $self->{'settings'}{'Verbose'}
475 0 0 if ($cf)
476 0 0 if $self->{'settings'}{'Verbose'}
498 0 0 if scalar @row > scalar @headers
506 0 0 if $recoder
507 0 0 if $uri_decode
513 0 0 if $@
518 0 0 if $self->{'settings'}{'Verbose'}
525 1 0 unless my $dbh = $self->_dbh
527 0 0 if $self->{'settings'}{'Verbose'}
528 0 0 if (lc $source eq 'all tables') { }
531 0 0 if $self->{'settings'}{'Verbose'}
537 0 0 if $self->{'settings'}{'Verbose'}
550 2 10 if ($param eq 'display-mode') { }
1 9 elsif ($param eq 'log-mode') { }
1 8 elsif ($param eq 'escape') { }
1 7 elsif ($param eq 'enter-whitespace') { }
0 7 elsif ($param eq 'delimiter') { }
1 6 elsif ($param eq 'width') { }
1 5 elsif ($param eq 'auto-commit') { }
1 4 elsif ($param eq 'longreadlen') { }
1 3 elsif ($param eq 'longtruncok') { }
1 2 elsif ($param eq 'multiline') { }
1 1 elsif ($param eq 'tracing') { }
552 1 1 unless exists $self->{'renderers'}{$mode}
557 1 0 unless exists $self->{'renderers'}{$mode}
562 1 0 unless $mode =~ /(uri-escape|show-whitespace|escape-whitespace|off)/
570 0 0 if $settings->{'Verbose'}
574 0 1 $mode =~ /^off$/i ? :
0 1 $mode =~ /^on$/i ? :
575 1 0 unless defined $_onoff
577 0 0 $settings->{'EnterWhitespace'} ? :
0 0 if $settings->{'Verbose'}
582 0 0 if $settings->{'Verbose'}
586 1 0 unless $mode =~ /^\d+$/
588 0 0 if $settings->{'Verbose'}
592 0 1 $mode =~ /^off$/i ? :
0 1 $mode =~ /^on$/i ? :
593 1 0 unless defined $_onoff
594 0 0 if _is_connected($dbh)
595 0 0 if $@
596 0 0 if $settings->{'Verbose'}
601 1 0 unless $mode =~ /^\d+$/
602 0 0 if _is_connected($dbh)
603 0 0 if $@
604 0 0 if $settings->{'Verbose'}
609 0 1 $mode =~ /^off$/i ? :
0 1 $mode =~ /^on$/i ? :
610 1 0 unless defined $_onoff
611 0 0 if _is_connected($dbh)
612 0 0 if $@
613 0 0 if $settings->{'Verbose'}
618 0 1 $mode =~ /^off$/i ? :
0 1 $mode =~ /^on$/i ? :
619 1 0 unless defined $_onoff
624 0 1 if ($mode =~ /^on$/i) { }
0 1 elsif ($mode =~ /^off$/i) { }
0 1 elsif ($mode =~ /^deep$/i) { }
626 0 0 if $settings->{'Verbose'}
630 0 0 if $settings->{'Verbose'}
634 0 0 if $settings->{'Verbose'}
667 0 0 if (defined $settings->{'LogLevel'} and $settings->{'LogLevel'} eq 'all' || $settings->{'LogLevel'} eq 'commands')
671 0 0 unless $dont_log
674 0 31 if ($settings->{'MultiLine'})
677 0 0 unless $self->{'current_statement'} =~ /;\s*$/s
684 0 31 if ($settings->{'EnterWhitespace'})
692 31 0 if ($cmd)
698 29 467 if (@args)
704 21 8 if ($@)
713 2 29 unless ($found)
714 0 2 length $cmd > 20 ? :
720 8 23 if $cmd =~ /\S/ and $valid
751 0 0 unless -t $fh
758 0 0 DBI::looks_like_number($_) ? :
0 0 defined $_ ? :
792 0 0 unless -t $fh
795 0 0 if ($table)
822 0 0 if (defined $value) { }
845 0 0 defined $_ ? :
856 0 0 unless -t $fh
864 0 0 if ($settings->{'Width'} > length $heading) { }
867 0 0 defined $record->[$l] ? :
895 0 0 unless ($sql =~ / /)
902 0 0 unless my $fh = 'IO::File'->new(">$filename")
906 0 0 if $delimiter
910 0 0 if $@
919 0 0 unless -e $dir
947 0 0 if ($settings->{'EscapeStrategy'} eq 'EscapeWhitespace')
952 0 0 if ($settings->{'EscapeStrategy'} eq 'ShowWhitespace') { }
0 0 elsif ($settings->{'EscapeStrategy'} eq 'UriEscape') { }
972 0 0 if ($driver eq 'mysql') { }
983 0 0 if $settings->{'LogLevel'} eq 'queries' or $settings->{'LogLevel'} eq 'all'
989 0 52 if (_is_connected($self->{'dbh'})) { }
1005 0 2 if (defined $renderer and ref $renderer ne 'CODE')
1013 0 105 if (defined $_[0] and ref $_[0] and UNIVERSAL::isa($_[0], 'DBI::db') and $_[0]->ping) { }
1043 0 0 if ($driver eq 'Oracle') { }
1078 0 0 if defined $precision
1093 0 1 unless open FH, _expand_filename($filename)
1106 0 1 scalar @$history >= $max_size ? :
1110 0 1 unless open FH, '> ' . _expand_filename($filename)
1121 0 0 if $recoder->getError
1122 0 0 unless $recoder->recode($_)
1166 0 0 defined $row->[$_] ? :
1167 0 0 if $len > $widths[$_]
1180 0 0 if $len > $width
1188 0 3 if ($file =~ s[^~([^/]*)][])
1190 0 0 $1 ? :
1218 0 0 unless defined $options
1226 0 0 defined $params ? :
1236 0 0 if defined $self->{'sth'}
1243 0 0 unless $self->{'data'}
1244 0 0 if $index + 1 > scalar @{$self->{'data'};}
1246 0 0 if defined $self->{'filter'}
1254 0 0 unless $self->{'data'}
1266 0 0 unless $self->{'headers'}
1273 0 0 if defined $filter
1289 0 0 if ($self->{'type'} eq 'Array') { }
1300 0 0 if ($@)