Branch Coverage

blib/lib/DBIx/DBO/DBD.pm
Criterion Covered Total %
branch 202 264 76.5


line true false branch
21 820 1248 if (blessed $me)
36 0 0 if defined $q_schema
43 0 0 if $info and @$info == 0
44 0 0 unless $info and @$info == 1 and $$info[0][2] eq $table
53 1 2 unless @$cols
68 2 0 defined $schema ? :
74 2 0 if (my $sth = $me->rdbh->primary_key_info(undef, $schema, $table))
82 0 18 unless $table =~ /^(?:("|)(.+)\1\.|)("|)(.+)\3$/
118 204 2 if $me->config('QuoteIdentifier')
127 86 0 if (my $hook = $me->config('HookSQL'))
130 86 0 unless my $dbg = $me->config('DebugSQL')
133 0 0 if eval "$Carp::VERSION < 1.12"
137 0 0 if ($dbg > 1) { }
157 23 21 if $clause = $class->_build_where($me)
158 4 40 if $clause = $class->_build_group($me)
159 2 42 if $clause = $class->_build_having($me)
160 24 20 if $clause = $class->_build_order($me)
161 8 36 if $clause = $class->_build_limit($me)
169 269 31 exists $$h{$_} ? :
175 0 6 if $class->_build_group($me)
176 0 6 if $class->_build_having($me)
180 5 1 if $clause = $class->_build_where($me)
181 0 6 if $clause = $class->_build_order($me)
182 0 6 if $clause = $class->_build_limit($me)
190 21 3 exists $$h{$_} ? :
196 0 1 if $class->_build_group($me)
199 1 0 if $clause = $class->_build_where($me)
200 0 1 if $clause = $class->_build_order($me)
201 0 1 if $clause = $class->_build_limit($me)
209 2 1 exists $$h{$_} ? :
217 12 16 defined $alias ? :
224 21 23 if defined $$h{'show'}
225 1 22 $$h{'Show_Distinct'} ? :
227 9 14 unless @{$$h{'Showing'};}
230 8 18 if (_isa($fld, 'DBIx::DBO::Table', 'DBIx::DBO::Query')) { }
233 0 18 if _isa($$fld[0][0], 'DBIx::DBO::Query')
243 62 22 if defined $$h{'from'}
249 4 2 if $$h{'Join_On'}[$i]
257 54 15 unless (defined $c{'Aliases'})
261 30 39 if ref $col
271 12 43 $_[2] eq 'join_on' ? :
277 10 51 if $$col[0] == $me
281 50 12 if $$col[0] == $tbl
288 14 87 if (ref $col)
289 14 0 if _isa($col, 'DBIx::DBO::Column')
303 79 54 unless defined $c{'Check'}
307 15 118 if (ref $fld eq 'SCALAR') { }
18 100 elsif (ref $fld eq 'HASH') { }
15 85 elsif (_isa($fld, 'DBIx::DBO::Column')) { }
308 0 0 $c{'Check'} eq 'Column' ? :
0 15 unless defined $$fld
313 12 6 if exists $$fld{'FUNC'}
314 6 12 if exists $$fld{'AS'}
315 2 16 if (exists $$fld{'ORDER'})
316 0 2 unless $$fld{'ORDER'} =~ /^(A|DE)SC$/i
319 1 17 if exists $$fld{'COLLATE'}
320 11 7 if (exists $$fld{'COL'}) { }
321 0 11 if exists $$fld{'VAL'}
322 1 10 ref $$fld{'COL'} eq 'ARRAY' ? :
325 5 2 exists $$fld{'VAL'} ? :
330 81 37 unless ref $fld eq 'ARRAY'
334 27 91 if (defined $func) { }
0 176 elsif ($with != 1 and $c{'Check'} ne 'Auto') { }
336 1 26 if $need != $with
338 0 0 $c{'Check'} eq 'Column' ? :
346 14 6 $1 eq '?' ? :
353 1 225 if exists $$opt{'COLLATE'}
354 9 217 if exists $$opt{'AS'}
355 2 224 if exists $$opt{'ORDER'}
358 115 99 if (not ref $_) { }
97 2 elsif (_isa($_, 'DBIx::DBO::Column')) { }
2 0 elsif (ref $_ eq 'SCALAR') { }
0 0 elsif (_isa($_, 'DBIx::DBO::Query')) { }
371 173 53 unless (defined $func)
372 0 173 if @ary != 1
379 0 53 if @ary != 1
387 15 36 if defined $$h{'where'}
390 16 20 if exists $$h{'Quick_Where'}
391 23 13 if exists $$h{'Where_Data'}
403 9 52 if (ref $$wh[0]) { }
404 5 4 $ag eq 'OR' ? :
409 18 34 if ($ag eq ($force || _op_ag($op)))
413 11 8 if ref $whs[$i][0] or $ag ne ($whs[$i][7] || _op_ag($whs[$i][0]))
415 0 8 if $whs[$i][2] ne $fld_func
419 8 0 ref $l eq 'ARRAY' ? :
8 0 ref $fld eq 'ARRAY' ? :
2 6 if (ref $l eq 'ARRAY' ? "@$l" : $l) ne (ref $fld eq 'ARRAY' ? "@$fld" : $fld)
425 47 14 @ary == 1 ? :
431 4 37 if $_[0] eq '=' or $_[0] eq 'IS' or $_[0] eq '<=>' or $_[0] eq 'IN' or $_[0] eq 'BETWEEN'
432 20 17 if $_[0] eq '<>' or $_[0] eq 'IS NOT' or $_[0] eq 'NOT IN' or $_[0] eq 'NOT BETWEEN'
443 0 28 unless @_ & 1
449 2 23 if (ref $val eq 'SCALAR' and $$val =~ /^\s*(?:NOT\s+)NULL\s*$/is) { }
2 21 elsif (ref $val eq 'ARRAY') { }
20 1 elsif (defined $val) { }
452 0 2 unless @$val
467 0 6 if @_ & 1
474 7 1 unless $remove_duplicates{$col}++
493 31 20 if defined $$h{'group'}
502 24 26 if defined $$h{'having'}
505 3 23 if exists $$h{'Having_Data'}
512 27 24 if defined $$h{'order'}
520 24 27 if defined $$h{'limit'}
521 20 7 unless defined $$h{'LimitOffset'}
523 2 5 if $$h{'LimitOffset'}[1]
535 0 1 if $opt eq 'OnRowUpdate' and $val and $val ne 'empty' and $val ne 'simple' and $val ne 'reload'
537 1 2 if $opt eq 'UseHandle' and $val and $val ne 'read-only' and $val ne 'read-write'
548 0 1 unless $me->_sth and $$me{'sth'}{'Executed'} || $me->run
551 0 1 $rows == -1 ? :
574 0 0 if (ref $opt{'rows'}[0] eq 'ARRAY') { }
595 2 2 if (ref $opt{'rows'}[0] eq 'ARRAY') { }
600 2 6 if ($prev_vals ne $vals)
601 0 2 unless $sth = $me->dbh->prepare($sql . $vals)
604 0 8 unless $rv += $sth->execute(@bind)
611 2 6 if ($prev_vals ne $vals)
612 0 2 unless $sth = $me->dbh->prepare($sql . $vals)
615 0 8 unless $rv += $sth->execute(@bind)
629 4 0 if ($on_row_update ne 'empty')
635 1 4 if $cant_update[$me->_column_idx($update[0])] = defined $update[1][1] || @{$update[1][0];} != 1 || ref $update[1][0][0] && (!_isa($update[1][0][0], 'DBIx::DBO::Column') || $cant_update[$me->_column_idx($update[1][0][0])])
644 0 4 if ref $val
649 3 1 unless grep $_, @cant_update
651 1 0 if ($on_row_update eq 'reload')
655 1 0 unless (grep $cant_update[$_], @cidx)
678 5 0 @{$$tbl{'PrimaryKeys'};} ? :
680 0 5 unless defined $i
689 1 4 if exists $$$me{'build_data'}{'From_Bind'}
706 12 10 if ($rv) { }
707 0 12 if @warn
710 1 9 unless ($@ =~ / \Q$file\E in \@INC /)
723 10 11 unless (exists $inheritance{$class}{$dbd})
725 10 0 unless (@{$dbd_class . '::ISA';})
728 1 9 if (@isa)
730 0 1 if $] < 5.009005