Branch Coverage

blib/lib/SQL/Abstract/More.pm
Criterion Covered Total %
branch 179 238 75.2


line true false branch
35 0 5 unless my $class = ref $orig
195 1 17 &does($_[0], 'HASH') ? :
200 12 168 if exists $params{$key}
205 2 16 if ($dialect)
206 0 2 unless my $dialect_params = $sql_dialects{$dialect}
217 0 2 unless not $params{'quote_char'} or exists $params{'name_sep'}
226 18 0 unless ref $self->{'column_alias'}
227 18 0 unless ref $self->{'table_alias'}
228 17 1 unless ref $self->{'limit_offset'}
231 0 81 unless length $b <=> length $a
265 0 5 if $self->{'WITH'}
268 0 5 unless @_
274 1 4 &does($_[0], 'ARRAY') ? :
278 1 5 if $clone->{'WITH'}{'sql'}
280 6 0 if $args{'-columns'}
282 1 5 if $args{'-final_clause'}
296 74 9 unless $self->{'WITH'}
312 1 58 unless &_called_with_named_args
321 11 47 if $join_info
325 33 25 ref $args{'-columns'} ? :
330 14 68 if ($col =~ /^\s* # ignore insignificant leading spaces (.*[^|\s]) # any non-empty string, not ending with ' ' or '|' \| # followed by a literal '|' (\w+) # followed by a word (the alias)) \s* # ignore insignificant trailing spaces $/x)
343 1 57 if ($args{'-page_index'} or $args{'-page_size'})
347 1 0 if ($args{'-page_index'})
355 11 47 if $join_info
359 4 54 if $post_select
363 11 279 if ($args{-$set_op})
375 4 54 if ($args{'-group_by'})
378 2 2 if ($args{'-having'})
388 7 51 if (my $order = $args{'-order_by'})
396 5 53 if (defined $args{'-limit'})
399 1 4 $limit_sql =~ /%s/ ? :
405 3 55 exists $args{'-for'} ? :
406 3 55 if $for
412 1 57 if ($args{'-want_details'}) { }
435 10 1 if (&_called_with_named_args) { }
439 0 9 unless $old_API_args[0] = $args{'-into'}
441 7 2 if ($args{'-values'}) { }
2 0 elsif ($args{'-select'}) { }
454 2 0 if (my $cols = $args{'-columns'})
457 2 0 if $SQL::Abstract::VERSION >= 2
466 3 6 if $old_API_options
480 2 8 if $fix_RT134127
483 1 9 if ($returning_into)
489 2 8 if $sql_to_add
505 9 1 if (&_called_with_named_args) { }
510 1 8 if $join_info
517 3 6 if $old_API_options
525 1 9 if $join_info
531 1 9 if ($returning_into)
548 6 12 if ($arg_returning)
553 2 4 if (&does($arg_returning, 'HASH')) { }
554 0 2 unless my(@keys) = sort(keys %$arg_returning)
572 2 13 if (defined $args->{'-order_by'})
577 2 13 if (defined $args->{'-limit'})
582 2 13 if (defined $args->{'-add_sql'})
591 15 39 unless ref $order
594 42 12 if (&does($order, 'ARRAY'))
599 34 35 if not $item or ref $item
600 3 32 if $item =~ s/^-// and $item = {'-desc', $item}
601 3 29 if $item =~ s/^\+//
614 4 1 if (&_called_with_named_args) { }
661 1 29 if $self->{'join_assoc_right'}
665 30 0 unless ref $combined
671 0 34 unless my $table_spec = shift()
673 31 3 unless ref $join_spec
674 34 0 unless ref $table_spec
688 2 0 if (&does($cond, 'HASH')) { }
0 0 elsif (&does($cond, 'ARRAY')) { }
0 0 elsif ($cond) { }
691 1 3 $merged{$col} ? :
695 0 0 $merged{'-nest'} ? :
709 0 0 unless $sth->isa('DBI::st')
712 0 0 if (&does($val, 'SCALAR')) { }
0 0 elsif (&does($val, 'ARRAY') and my($bind_meth, @args) = $self->is_bind_value_with_type($val)) { }
733 2 3 if (@$val == 2 and &does($val->[0], 'HASH') and grep {$val->[0]{$_};} 'dbd_attrs', 'sqlt_size', 'sqlt_datatype', 'dbic_colname')
738 2 0 if (my $attrs = $args->{'dbd_attrs'}) { }
0 0 elsif (my $size = $args->{'sqlt_size'}) { }
767 12 55 if (&does($table_arg, 'ARRAY') and $table_arg->[0] eq '-join') { }
785 13 51 $alias ? :
796 0 31 unless $join_spec
799 0 31 unless my($op, $bracket, $cond_list) = $join_spec =~ /$self->{'join_regex'}/x
828 34 7 if ($cmp and $right) { }
7 0 elsif ($cond =~ /^\w+$/) { }
830 32 2 unless $left =~ /\./
831 27 7 unless $right =~ /\./ or $right eq $placeholder
835 6 28 $right eq $placeholder ? :
846 6 25 if @using
848 1 23 $bracket eq '[' ? :
24 7 if @conditions
857 1 33 if $self->{'join_assoc_right'}
868 8 26 if ($join_spec->{'using'}) { }
25 1 elsif ($join_spec->{'condition'}) { }
870 1 7 if $join_spec->{'condition'}
877 0 25 if $join_spec->{'using'}
896 1 32 $self->{'join_assoc_right'} ? :
914 8 23 if ($self->{'multicols_sep'})
916 8 0 if (@cols > 1)
917 6 2 if ($self->{'has_multicols_in_SQL'}) { }
930 4 15 if ($max_members_IN and &does($vals, 'ARRAY') and @$vals > $max_members_IN)
938 2 2 $op =~ /^not/i ? :
947 2 17 if &blessed($vals)
966 0 4 unless ($n_tuples)
967 0 0 $op =~ /\bnot\b/i ? :
974 3 3 unless &does($val, 'ARRAY')
976 0 6 unless @$val == $n_cols
1010 0 2 unless &does($vals, 'ARRAY') and @$vals
1017 1 1 if $op =~ /\bnot\b/i
1022 3 0 unless &does($val, 'ARRAY')
1024 0 3 unless @$val == $n_cols
1042 0 0 if ($self->is_bind_value_with_type($v)) { }
1059 0 0 if ($self->is_bind_value_with_type($vals)) { }
1074 0 0 unless $self->{'bindtype'} ne 'columns'
1091 0 0 if ($self->{'array_datatypes'} or $self->is_bind_value_with_type($v)) { }
1149 0 0 if ($self->{'array_datatypes'} or $self->is_bind_value_with_type($v)) { }
1173 0 0 if @rest or not $op =~ /^\-(.+)/
1209 1 15 unless $alias
1212 11 4 unless $name =~ /[()]/
1228 51 14 unless $alias
1242 0 17 unless my $method = $limit_offset_dialects{$dialect}