Branch Coverage

blib/lib/Data/ObjectDriver/SQL.pm
Criterion Covered Total %
branch 77 98 78.5


line true false branch
45 5 3 ref $joins eq 'ARRAY' ? :
56 1 0 ref $hint->{'list'} eq 'ARRAY' ? :
63 12 18 if (@{$stmt->select;})
65 1 11 if $stmt->distinct
68 13 2 $alias && /(?:^|\.)\Q$alias\E$/ ? :
75 0 30 unless $stmt->from
76 8 22 if ($stmt->joins and @{$stmt->joins;})
81 8 3 unless $initial_table_written++
91 1 7 if @from
94 23 7 if (@from)
107 3 26 if ($comment and $comment =~ /([ 0-9a-zA-Z.:;()_#&,]+)/)
108 3 0 if $1
115 26 4 unless my $n = $stmt->limit
117 1 3 if $n =~ /\D/
118 1 2 $stmt->offset ? :
126 10 50 if (my $attribute = $stmt->$set)
127 3 7 ref $attribute eq 'ARRAY' ? :
129 8 5 $_->{'desc'} ? :
139 23 29 $stmt->where && @{$stmt->where;} ? :
146 1 29 $stmt->having && @{$stmt->having;} ? :
154 0 22 unless $col =~ /^[\w\.]+$/
177 0 4 unless (ref $t)
178 0 0 if uc($t) =~ /^-?(OR|AND|OR_NOT|AND_NOT)$/
183 4 0 if (ref $t eq 'HASH') { }
0 0 elsif (ref $t eq 'ARRAY') { }
200 2 2 @out ? :
218 1 0 if (my $orig = $stmt->select_map_reverse->{$col})
232 8 35 if (ref $val eq 'ARRAY') { }
14 21 elsif (ref $val eq 'HASH') { }
1 20 elsif (ref $val eq 'SCALAR') { }
1 19 elsif (ref $val eq 'REF') { }
233 6 2 if (ref $val->[0] or ($val->[0] || '') eq '-and') { }
236 4 2 if ($val->[0] eq '-and')
249 0 2 if $m = $stmt->column_mutator
255 0 14 if $m = $stmt->column_mutator
257 2 12 if ($op eq 'IN' || $op eq 'NOT IN' and ref $val->{'value'} eq 'ARRAY') { }
1 11 elsif ($op eq 'IN' || $op eq 'NOT IN' and ref $val->{'value'} eq 'REF') { }
1 10 elsif ($op eq 'BETWEEN' and ref $val->{'value'} eq 'ARRAY') { }
265 0 1 if @{$val->{'value'};} != 2
269 1 9 if (ref $val->{'value'} eq 'SCALAR') { }
277 0 1 if $m = $stmt->column_mutator
280 0 1 if $m = $stmt->column_mutator
285 0 19 if $m = $stmt->column_mutator
286 18 1 if (defined $val) { }
298 3 1 if (@$val) { }
301 1 0 if ($op eq 'IN') { }
0 0 elsif ($op eq 'NOT IN') { }
313 32 3 unless $hint and ref $hint eq 'HASH'
314 3 0 if ($hint->{'list'} and @{$hint->{'list'};})