Branch Coverage

blib/lib/SQL/Abstract/More.pm
Criterion Covered Total %
branch 214 292 73.2


line true false branch
32 3 10 if @_ >= 2 and $_[0] eq "-extends"
35 1 12 if $parent_sqla eq "Classic"
38 3 10 if (my $already_isa = $ISA[0])
39 2 1 unless $already_isa eq $parent_sqla
70 0 5 unless my $class = ref $orig
233 1 18 &does($_[0], 'HASH') ? :
238 13 177 if exists $params{$key}
243 3 16 if ($dialect)
244 0 3 unless my $dialect_params = $sql_dialects{$dialect}
255 0 2 unless not $params{'quote_char'} or exists $params{'name_sep'}
264 19 0 unless ref $self->{'column_alias'}
265 19 0 unless ref $self->{'table_alias'}
266 18 1 unless ref $self->{'limit_offset'}
269 0 85 unless length $b <=> length $a
303 0 5 if $self->{'WITH'}
306 0 5 unless @_
312 1 4 &does($_[0], 'ARRAY') ? :
317 0 0 $args{'-columns'} ? :
6 0 &does($args{'-columns'}, 'ARRAY') ? :
319 1 5 if $clone->{'WITH'}{'sql'}
321 6 0 if @cols
323 1 5 if $args{'-final_clause'}
337 95 9 unless $self->{'WITH'}
353 1 75 unless &_called_with_named_args
372 4 71 if $all_post_select
376 12 363 if (my $val_set_op = $args{-$set_op})
383 5 70 if ($args{'-group_by'})
390 3 72 if ($args{'-having'})
397 9 66 if (my $order = $args{'-order_by'})
402 1 74 if $args{'-page_index'} or $args{'-page_size'}
403 5 70 if (defined $args{'-limit'})
405 1 4 if ($limit_sql =~ /%s/) { }
415 3 72 exists $args{'-for'} ? :
416 3 72 if $for
419 2 73 if (my $alias = $args{'-as'})
427 1 74 $args{'-want_details'} ? :
439 43 32 ref $columns ? :
452 3 105 if (_is_subquery($col))
460 21 87 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)
482 12 63 if ($join_info) { }
490 2 61 if (_is_subquery($from)) { }
2 59 elsif (&does($from, 'ARRAY')) { }
1 58 elsif (&does($from, 'SCALAR')) { }
532 1 0 if ($args->{'-page_index'})
548 1 9 if ($parent_sqla->can('_expand_insert_value')) { }
9 0 elsif ($parent_sqla->can('_insert_values')) { }
554 0 0 if (ref $v eq "ARRAY")
555 0 0 if ($self->{'array_datatypes'} or $self->is_bind_value_with_type($v))
562 0 0 if (ref $v eq "HASH")
563 0 0 if (grep((!/^-/), keys %$v))
568 0 0 unless (defined $v)
580 9 0 unless ($parent_sqla->can("_insert_value"))
607 1 0 if ($self->{'array_datatypes'} or $self->is_bind_value_with_type($v)) { }
662 11 1 if (&_called_with_named_args) { }
666 0 10 unless $old_API_args[0] = $args{'-into'}
668 8 2 if ($args{'-values'}) { }
2 0 elsif ($args{'-select'}) { }
681 2 0 if (my $cols = $args{'-columns'})
684 0 2 if ($SQL::Abstract::VERSION || 0) >= 2
693 3 7 if $old_API_options
707 0 11 if $fix_RT134127
710 1 10 if ($returning_into)
716 2 9 if $sql_to_add
734 1 9 if ($parent_sqla->can('_expand_update_set_values')) { }
741 0 0 unless defined $set
751 0 0 $self->{'array_datatypes'} || $self->is_bind_value_with_type($v) ? :
0 0 if (ref $v eq 'ARRAY') { }
766 0 9 if ($parent_sqla->can('_update_set_values')) { }
781 0 12 unless ref $data eq "HASH"
788 6 6 if ($where)
794 3 9 if ($options->{'returning'})
800 12 0 wantarray ? :
828 1 0 if ($self->{'array_datatypes'} or $self->is_bind_value_with_type($v)) { }
852 0 0 if @rest or not $op =~ /^\-(.+)/
881 11 1 if (&_called_with_named_args) { }
887 1 10 defined $join_info ? :
894 3 8 if $old_API_options
902 1 11 if $join_info
908 1 11 if ($returning_into)
933 5 1 if (&_called_with_named_args) { }
965 6 15 if ($arg_returning)
970 2 4 if (&does($arg_returning, 'HASH')) { }
971 0 2 unless my(@keys) = sort(keys %$arg_returning)
989 2 16 if (defined $args->{'-order_by'})
994 2 16 if (defined $args->{'-limit'})
999 2 16 if (defined $args->{'-add_sql'})
1009 17 40 unless ref $order
1012 45 12 if (&does($order, "ARRAY"))
1017 34 38 if not $item or ref $item
1018 3 35 if $item =~ s/^-// and $item = {"-desc", $item}
1019 3 32 if $item =~ s/^\+//
1054 1 30 if $self->{'join_assoc_right'}
1058 31 0 unless ref $combined
1064 0 35 unless my $table_spec = shift()
1066 32 3 unless ref $join_spec
1067 35 0 unless ref $table_spec
1081 2 0 if (&does($cond, 'HASH')) { }
0 0 elsif (&does($cond, 'ARRAY')) { }
0 0 elsif ($cond) { }
1084 1 3 $merged{$col} ? :
1088 0 0 $merged{'-nest'} ? :
1102 0 0 unless $sth->isa("DBI::st")
1105 0 0 if (&does($val, 'SCALAR')) { }
0 0 elsif (&does($val, 'ARRAY') and my($bind_meth, @args) = $self->is_bind_value_with_type($val)) { }
1126 4 1 if (@$val == 2 and &does($val->[0], "HASH") and grep {$val->[0]{$_};} "dbd_attrs", "sqlt_size", "sqlt_datatype", "dbic_colname")
1131 4 0 if (my $attrs = $args->{'dbd_attrs'}) { }
0 0 elsif (my $size = $args->{'sqlt_size'}) { }
1160 13 73 if (&does($table_arg, 'ARRAY') and $table_arg->[0] eq '-join') { }
1178 18 126 $alias ? :
1189 0 32 unless $join_spec
1192 0 32 unless my($op, $bracket, $cond_list) = $join_spec =~ /$self->{'join_regex'}/x
1221 36 7 if ($cmp and $right) { }
7 0 elsif ($cond =~ /^\w+$/) { }
1223 34 2 unless $left =~ /\./
1224 28 8 unless $right =~ /\./ or $right eq $placeholder
1228 7 29 $right eq $placeholder ? :
1239 6 26 if @using
1241 1 24 $bracket eq '[' ? :
25 7 if @conditions
1250 1 34 if $self->{'join_assoc_right'}
1261 8 27 if ($join_spec->{'using'}) { }
26 1 elsif ($join_spec->{'condition'}) { }
1263 1 7 if $join_spec->{'condition'}
1270 0 26 if $join_spec->{'using'}
1289 1 33 $self->{'join_assoc_right'} ? :
1307 8 24 if ($self->{'multicols_sep'})
1309 8 0 if (@cols > 1)
1310 6 2 if ($self->{'has_multicols_in_SQL'}) { }
1323 4 15 if ($max_members_IN and &does($vals, "ARRAY") and @$vals > $max_members_IN)
1331 2 2 $op =~ /^not/i ? :
1340 2 18 if builtin::blessed($vals)
1359 0 4 unless ($n_tuples)
1360 0 0 $op =~ /\bnot\b/i ? :
1367 3 3 unless &does($val, "ARRAY")
1369 0 6 unless @$val == $n_cols
1403 0 2 unless &does($vals, "ARRAY") and @$vals
1410 1 1 if $op =~ /\bnot\b/i
1415 3 0 unless &does($val, "ARRAY")
1417 0 3 unless @$val == $n_cols
1435 1 5 if ($self->is_bind_value_with_type($v)) { }
1452 1 0 if ($self->is_bind_value_with_type($vals)) { }
1467 0 2 unless $self->{'bindtype'} ne "columns"
1483 1 22 unless $alias
1486 13 9 unless $name =~ /[()]/
1502 126 19 unless $alias
1516 0 18 unless my $method = $limit_offset_dialects{$dialect}