Branch Coverage

blib/lib/Rose/DB/Object/QueryBuilder.pm
Criterion Covered Total %
branch 0 474 0.0


line true false branch
110 0 0 delete $args{'distinct'} ? :
114 0 0 exists $args{'pretty'} ? :
127 0 0 exists $args{'table_aliases'} ? :
129 0 0 if ($args{'limit'})
135 0 0 if (delete $args{'for_update'})
140 0 0 unless %$all_columns
142 0 0 unless $logic eq ','
146 0 0 unless ($args{'dbh'})
148 0 0 if ($args{'db'}) { }
162 0 0 if ($query_arg)
166 0 0 if ($query_arg->[$i] =~ /^(?:and|or)$/i) { }
0 0 elsif (my $ref = ref $query_arg->[$i]) { }
170 0 0 unless (ref $query and @$query)
178 0 0 if ($do_bind) { }
201 0 0 if ($pretty) { }
224 0 0 if ($ref eq 'SCALAR') { }
0 0 elsif ($ref eq 'ARRAY') { }
233 0 0 unless (ref $list->[0] eq 'SCALAR')
242 0 0 if ($do_bind)
259 0 0 ref $_ eq 'SCALAR' ? :
0 0 if ref $select
260 0 0 ref $_ eq 'SCALAR' ? :
0 0 if ref $sort_by
261 0 0 if ref $group_by
267 0 0 unless $columns->{$table}
275 0 0 @$tables > 1 ? :
278 0 0 if ($multi_table) { }
284 0 0 unless defined $table_aliases
300 0 0 unless ($query_is_sql)
302 0 0 unless $classes = $args{'classes'}
307 0 0 unless $db
310 0 0 unless $obj_class = $classes->{$table}
313 0 0 unless $obj_meta = $meta->{$obj_class} || $obj_class->meta
316 0 0 if ($bind_params and not defined $do_bind_params)
322 0 0 unless $do_bind_params
329 0 0 if (@$my_columns == 0)
334 0 0 if ($obj_meta) { }
345 0 0 if ($obj_meta)
359 0 0 $table_map->{$table_tn} ? :
371 0 0 if $rel_column eq $fq_column
373 0 0 if ($obj_meta)
377 0 0 unless ($method eq $column)
383 0 0 $table_map->{$table_tn} ? :
387 0 0 unless ($query_only_columns or not $select_columns{$column})
389 0 0 if ($table_aliases) { }
391 0 0 $unique_aliases ? :
0 0 $unique_aliases ? :
0 0 $unique_aliases ? :
0 0 $db ? :
0 0 $obj_meta ? :
406 0 0 $db ? :
0 0 $obj_meta ? :
416 0 0 index($column_arg, '!') == 0 ? :
426 0 0 unless ($query_is_sql or $scalar_ref)
430 0 0 unless $col_meta = $obj_meta->column($column) || $obj_meta->method_column($column)
433 0 0 if ($get_method or $set_method)
435 0 0 unless ($obj = $proto{$obj_class})
441 0 0 unless $get_method = $obj_meta->column_accessor_method_name($column)
444 0 0 unless $set_method = $obj_meta->column_mutator_method_name($column)
450 0 0 if (ref $val eq 'HASH' and $val->{'any_in_array'} || $val->{'all_in_array'} and not @{[] unless $val->{'any_in_array'} or $val->{'all_in_array'};})
451 0 0 unless $val->{'any_in_array'} or $val->{'all_in_array'}
453 0 0 unless $allow_empty_lists
467 0 0 if ($column_arg eq $column || $column_arg eq "!$column" and ($column_count{$column} || 0) > 1)
470 0 0 if ($args{'no_ambiguous_columns'}) { }
478 0 0 unless $table_alias eq 't1'
482 0 0 $col_meta ? :
483 0 0 $db ? :
0 0 $table_aliases ? :
486 0 0 if ($val_ref) { }
0 0 elsif (not defined $val) { }
488 0 0 if $scalar_ref
490 0 0 $do_bind ? :
500 0 0 if ($set) { }
0 0 elsif ($op eq 'IS' or $op eq 'IS NOT') { }
506 0 0 $not ? :
0 0 $op eq 'IS NOT' ? :
0 0 $not ? :
512 0 0 $not || $op eq '<>' ? :
517 0 0 if ($col_meta and $db and $col_meta->should_inline_value($db, $val)) { }
0 0 elsif ($do_bind) { }
519 0 0 $not ? :
523 0 0 $not ? :
526 0 0 if ($do_bind_params)
533 0 0 $not ? :
543 0 0 if (%query)
545 0 0 scalar keys %query > 1 ? :
549 0 0 if ($clauses_arg)
556 0 0 if ($pretty) { }
569 0 0 $db ? :
0 0 exists $args{'nested_joins'} ? :
571 0 0 unless ($where_only)
583 0 0 if ($joins and @$joins) { }
591 0 0 if ($i == 1) { }
0 0 elsif (not $joins->[$i]) { }
594 0 0 if ($db) { }
609 0 0 if ($db) { }
625 0 0 unless $joins->[$i]{'type'}
628 0 0 unless $joins->[$i]{'conditions'}
630 0 0 if ($nested_joins) { }
632 0 0 if (my $parent_tn = $joins->[$i]{'parent_tn'}) { }
643 0 0 if ($db) { }
661 0 0 if ($nested_joins)
667 0 0 if $seen[$i]++
671 0 0 unless $children
673 0 0 if (@$children) { }
679 0 0 if ($db) { }
699 0 0 if ($driver eq 'mysql' and @normal_tables and $db && $db->database_version >= 5000012 || $dbh->get_info(18) =~ /5\.\d+\.(?:1[2-9]|[2-9]\d)/) { }
0 0 elsif ($driver eq 'SQLite') { }
730 0 0 @normal_tables ? :
741 0 0 if ($db) { }
750 0 0 $oracle_hack || keys %$hints ? :
0 0 $table_aliases ? :
756 0 0 $table_aliases ? :
763 0 0 if ($from_and_where_only) { }
769 0 0 $db && %$hints ? :
771 0 0 if (index($limit_prefix, 'SELECT ') != 0) { }
782 0 0 if ($where)
784 0 0 if ($where_only) { }
794 0 0 if $group_by
795 0 0 if $sort_by
796 0 0 if defined $limit_suffix
797 0 0 if $object_class and $lock
799 0 0 if $Debug
801 0 0 wantarray ? :
815 0 0 if (ref $vals eq 'SCALAR')
821 0 0 if (not defined $op and ref $vals eq 'HASH' and keys %$vals == 1) { }
825 0 0 if ($op_arg =~ s/(?:_|^)sql$//)
830 0 0 unless ($op = $Op_Map{$op_arg})
832 0 0 if ($strict_ops) { }
844 0 0 $db ? :
846 0 0 unless ($ref = ref $vals)
848 0 0 if $field_mod
853 0 0 if (defined $vals)
855 0 0 if ($bind and not $should_inline and not $force_inline)
859 0 0 if ($bind_params)
864 0 0 if ($op eq 'ANY IN SET' or $op eq 'ALL IN SET') { }
0 0 elsif ($op eq 'ANY IN ARRAY' or $op eq 'ALL IN ARRAY') { }
866 0 0 if ($driver eq 'mysql') { }
868 0 0 $not ? :
0 0 $not ? :
873 0 0 $not ? :
878 0 0 $not ? :
882 0 0 $not ? :
0 0 $not ? :
886 0 0 if ($op eq 'ANY IN SET' or $op eq 'ALL IN SET') { }
0 0 elsif ($op eq 'ANY IN ARRAY' or $op eq 'ALL IN ARRAY') { }
888 0 0 if ($driver eq 'mysql') { }
890 0 0 $not ? :
0 0 $should_inline || $force_inline ? :
0 0 $not ? :
896 0 0 $not ? :
0 0 $should_inline || $force_inline ? :
0 0 $not ? :
903 0 0 $should_inline || $force_inline ? :
904 0 0 $not ? :
908 0 0 $not ? :
0 0 $should_inline || $force_inline ? :
0 0 $not ? :
916 0 0 if ($set) { }
0 0 elsif ($op eq 'IS' or $op eq 'IS NOT') { }
922 0 0 $not ? :
0 0 $op eq 'IS NOT' ? :
0 0 $not ? :
927 0 0 $not || $op eq '<>' ? :
931 0 0 if ($ref eq 'ARRAY') { }
0 0 elsif ($ref eq 'HASH') { }
933 0 0 if (not @$vals) { }
935 0 0 unless $allow_empty_lists
940 0 0 if ($op eq '=') { }
0 0 elsif ($op =~ /^(A(?:NY|LL)) IN (SET|ARRAY)$/) { }
949 0 0 if (ref $val eq 'SCALAR') { }
0 0 elsif ($should_inline or $force_inline) { }
959 0 0 if ($bind) { }
961 0 0 if (defined $val) { }
966 0 0 if ($bind_params)
983 0 0 $not ? :
987 0 0 $1 eq 'ANY' ? :
988 0 0 $2 eq 'SET' ? :
990 0 0 if ($bind)
995 0 0 $not ? :
0 0 ref $vals ? :
996 0 0 if ($bind_params)
1008 0 0 $not ? :
0 0 ref $vals ? :
1013 0 0 if ($bind)
1020 0 0 if (ref $val eq 'SCALAR')
1029 0 0 if ($should_inline or $force_inline) { }
1038 0 0 if ($bind_params)
1045 0 0 if ($Template_Op{$op})
1053 0 0 $not ? :
1056 0 0 $not ? :
0 0 $not ? :
1062 0 0 $not ? :
0 0 $force_inline || $db && $col_meta && $col_meta->should_inline_value($db, $_) ? :
0 0 $not ? :
1075 0 0 if exists $vals->{'field'}
1077 0 0 $op eq 'ALL IN SET' || $op eq 'ALL IN ARRAY' ? :
1078 0 0 $op eq 'ANY IN SET' || $op eq 'ANY IN ARRAY' ? :
1082 0 0 unless ($sub_op = $Op_Map{$raw_op})
1084 0 0 if $strict_ops
1090 0 0 if (not $ref_type or $ref_type eq 'SCALAR') { }
0 0 elsif ($ref_type eq 'ARRAY') { }
1096 0 0 $all_in ? :
1098 0 0 if (my $wanted = $Op_Wantarray{$raw_op}) { }
1100 0 0 if ($wanted > 1 and @{$vals->{$raw_op};} > $wanted)
1117 0 0 $col_meta ? :
1123 0 0 if ($all_in) { }
0 0 elsif ($any_in) { }
1125 0 0 if ($not) { }
1131 0 0 @clauses == 1 ? :
1136 0 0 if ($not) { }
1142 0 0 @clauses == 1 ? :
1147 0 0 @clauses == 1 ? :
1151 0 0 $col_meta ? :
1162 0 0 if ($nested->[$i] and @{$nested->[$i];}) { }
1166 0 0 if ($joins->[$i]) { }
1172 0 0 if ($db) { }
1203 0 0 if ($db) { }
1228 0 0 if (not $val_ref or $asis) { }
0 0 elsif ($val_ref eq 'ARRAY') { }
0 0 elsif ($val_ref eq 'HASH') { }
1230 0 0 unless (ref $store eq 'HASH' and $Op_Arg_PassThru{$param})
1232 0 0 if ($col_meta->manager_uses_method) { }
0 0 elsif (defined $value) { }
1243 0 0 if (defined $value and not defined $parsed_value)
1248 0 0 if defined $value
1255 0 0 unless @$value or $allow_empty_lists
1258 0 0 if ($asis or $col_meta->type eq 'array' or $col_meta->type eq 'set' and $depth == 1) { }
0 0 elsif ($col_meta->type ne 'set') { }
1279 0 0 if $key =~ /(?:_|^)sql$/
1285 0 0 if ($col_meta->manager_uses_method) { }
0 0 elsif (defined $value and $val_ref ne 'SCALAR') { }
1296 0 0 if (defined $value and not defined $parsed_value)
1301 0 0 if defined $value
1306 0 0 if (ref $store eq 'HASH') { }
0 0 elsif (ref $store eq 'ARRAY') { }
1308 0 0 unless defined $param