Branch Coverage

blib/lib/Data/Model/Driver/DBI.pm
Criterion Covered Total %
branch 76 120 63.3


line true false branch
17 0 962 unless $$self{'dbi_config'}{$name}
23 49 0 if (my($type) = $$self{'dsn'} =~ /^dbi:(\w*)/i)
43 2 34 if ($$self{'reuse_dbh'})
46 35 1 unless ($dbh and $args{'no_ping'} || $dbh->ping)
47 35 0 unless $$dbi_config{'connect_options'}
49 0 35 unless $dbh = 'DBI'->connect($dsn, $$dbi_config{'username'}, $$dbi_config{'password'}, {'RaiseError', 1, 'PrintError', 0, 'AutoCommit', 1, %{{} unless $$dbi_config{'connect_options'};}})
51 1 34 if ($$self{'reuse_dbh'})
64 926 0 unless ($args{'no_ping'})
65 0 926 if $$dbi_config{'dbh'} and not $$dbi_config{'dbh'}->ping
67 36 890 unless ($$dbi_config{'dbh'} or $args{'cannot_reconnect'})
68 0 36 if (my $getter = $$self{'get_dbh'}) { }
71 0 36 unless $$dbi_config{'dbh'} = $self->init_db($name, %args)
84 441 0 if ($key)
95 0 61 unless my($index, $index_key) = %{$index_obj;}
96 34 27 unless ref $index_key eq 'ARRAY'
98 61 37 if (exists $schema->$index_type->{$index})
119 194 262 unless $columns
127 290 166 if $key
128 59 397 if $index_query
140 0 1056 exists $$map{$col} ? :
147 23 433 $args{'no_cached_prepare'} ? :
152 0 456 if ($@)
168 14 92 unless $rv
177 19 4 if (@keys == 1) { }
215 4 1029 unless $sth
216 270 759 if $i++ eq 1
217 323 436 unless ($sth->fetch)
227 53 274 unless &$iterator()
229 4 270 if ($sth)
241 4 0 if ($self->dbd->can_replace) { }
259 0 0 if (scalar @{$keys;} >= 1) { }
0 0 elsif (scalar keys %{$unique;} > 1) { }
0 0 elsif (scalar keys %{$unique;} == 1) { }
260 0 0 if (scalar keys %{$unique;} >= 1)
279 0 0 unless defined $$columns{$k}
281 0 0 unless $has_keys
287 0 0 if (ref $val eq 'SCALAR') { }
0 0 elsif (not ref $val) { }
301 4 277 $is_replace ? :
313 0 281 if ($args{'on_duplicate_key_update'} and $self->dbd->has_support('on_duplicate_key_update'))
330 4 277 if ($@)
347 1 56 if (ref $val eq 'SCALAR') { }
56 0 elsif (not ref $val) { }
377 0 47 if ($@)
381 0 47 if (wantarray) { }
399 0 23 unless $where_sql
409 16 8 if $key
410 2 22 if $index_query
413 0 24 unless $where_sql
425 51 2 if $key
426 0 53 if $index_query
445 0 53 if ($@)
449 0 53 if (wantarray) { }
471 4 0 if ($sth)
494 14 3 unless $$self{'__dbh_init_by_driver'}
506 0 33 unless eval { do { $dbh->begin_work } }
511 0 22 unless $$self{'active_transaction'}
513 0 22 unless eval { do { $dbh->rollback } }
518 0 11 unless $$self{'active_transaction'}
520 0 11 unless eval { do { $dbh->commit } }