Branch Coverage

blib/lib/DBD/Gofer.pm
Criterion Covered Total %
branch 137 192 71.3


line true false branch
54 0 56 if $drh
58 56 0 unless ($methods_already_installed++)
86 0 4 if @_
88 2 2 if defined $h->{'go_cache'}
97 22 7116 if (my $warnings = $response->warnings)
104 1535 5603 if defined $err
116 0 4866 unless defined &{$full_method;}
119 0 4866 unless $full_method =~ /^DBI::(\w\w)::(\w+)$/
123 4700 166 if defined &{$driver_method;}
125 126 40 if ($type eq 'db') { }
158 0 716 unless my $remote_dsn = $dsn =~ s/;?\bdsn=(.*)$// && $1
161 1 715 if ($attr->{'go_bypass'})
177 715 0 unless (ref $go_attr{'go_policy'})
179 715 0 unless $policy_class =~ /::/
181 0 715 unless _load_class($policy_class)
184 0 715 unless $go_attr{'go_policy'} = eval { do { $policy_class->new(\%go_attr) } }
190 4 711 if ($go_attr{'go_cache'} and not ref $go_attr{'go_cache'})
192 4 0 if $cache_class eq '1'
193 0 4 unless _load_class($cache_class)
195 0 4 unless $go_attr{'go_cache'} = eval { do { $cache_class->new } }
203 0 715 unless my $transport_class = delete $go_attr{'go_transport'}
204 715 0 unless $transport_class =~ /::/
206 0 715 unless _load_class($transport_class)
208 0 715 unless my $go_transport = eval { do { $transport_class->new(\%go_attr) } }
212 0 715 unless my $go_request = eval { do { my $go_attr = {%$attr}; if ($user) { $go_attr->{'Username'} = $user; $go_attr->{'Password'} = $auth; } ; delete @{$go_attr;}{'Profile', 'HandleError', 'HandleSetErr', 'Callbacks'}; delete @{$go_attr;}{'RootClass', 'DbTypeSubclass'}; $go_connect_method ||= $go_policy->connect_method($remote_dsn, $go_attr) || 'connect'; $request_class->new({'dbh_connect_call', [$go_connect_method, $remote_dsn, $user, $auth, $go_attr]}) } }
215 13 702 if ($user)
244 530 185 unless ($skip_connect_check)
245 26 504 unless ($dbh->go_dbh_method(undef, 'ping'))
246 26 0 if $dbh->err
258 1434 0 if eval { do { require $pm } }
290 1093 2984 if $dbh_attribute_update eq 'every' or $dbh->{'go_request_count'} == 1
293 0 4077 if $meta->{'go_last_insert_id_args'}
296 0 4077 unless my $transport = $dbh->{'go_transport'}
299 0 4077 if defined $dbh->{'go_cache'}
303 0 4077 unless $dbh->{'go_response'} = $response
306 0 4077 unless UNIVERSAL::isa($response, 'DBI::Gofer::Response')
309 1067 3010 if (my $dbh_attributes = $response->dbh_attributes)
312 1067 0 if (my $installed_methods = delete $dbh_attributes->{'dbi_installed_methods'})
314 580 487 if $dbh->{'go_request_count'} == 1
323 10 4067 if (my $resultset_list = $response->sth_resultsets) { }
0 4067 elsif (not $rv) { }
343 58 4019 wantarray ? :
363 0 209 if ($dbh->{'dbi_default_methods'}{$method} and $dbh->{'go_policy'}->skip_default_methods)
370 185 24 if (my $cache_it = $dbh->{'go_policy'}->$policy_name(undef, $dbh, @_))
377 108 0 ref $_ eq 'HASH' ? :
0 108 ref $_ eq 'ARRAY' ? :
74 108 !ref($_) ? :
379 58 127 if ($rv = $cache->{$cache_key})
383 0 58 if UNIVERSAL::isa($cache_rv[0], 'DBI::st')
384 0 58 wantarray ? :
389 50 101 wantarray ? :
393 127 24 if ($cache)
399 127 0 unless UNIVERSAL::isa($cache_rv[0], 'DBI::st')
403 50 101 wantarray ? :
422 0 18 if ($dbh->{'dbi_default_methods'}{$method} and $dbh->{'go_policy'}->skip_default_methods)
431 0 18 if ($locally)
432 0 0 if ref $locally eq 'CODE'
461 6 51 unless $dbh->SUPER::FETCH('Active')
464 24 27 $skip_ping ? :
469 0 0 unless my $response = $dbh->{'go_response'}
481 7 2401 if ($attrib =~ /^[a-z]/ and not $attrib =~ /^go_/)
493 696 6647 if ($attrib eq 'AutoCommit')
494 0 696 unless $value
495 696 0 $value ? :
499 788 14 if $dbh_local_store_attrib{$attrib} or $attrib =~ /^private_/ or not $dbh->FETCH('Active')
507 10 0 if $DBD::Gofer::xxh_local_store_attrib_if_same_value{$attrib} and do { my $crnt = $dbh->FETCH($attrib); local $^W; defined $value ^ defined $crnt ? 0 : $value eq $crnt }
510 0 10 defined $value ^ defined $crnt ? :
516 4 0 if $dbh->FETCH('Warn')
529 0 1104 unless $dbh->FETCH('Active')
532 38 1066 if $attr
542 1084 20 if $attr and not %$attr
557 594 510 unless ($skip_prepare_check)
558 72 522 unless $sth->go_sth_method
586 2157 904 if (my $ParamValues = $sth->{'ParamValues'})
592 0 2157 if (@params > 9 and ($sth->{'Database'}{'go_dsn'} || '') =~ /dbi:Sybase/)
605 0 3061 unless my $dbh = $sth->{'Database'}
611 2467 594 if $sth->{'go_method_calls'}
615 0 3061 if $meta->{'go_last_insert_id_args'}
621 2905 156 if $dbh_attribute_update eq 'every' or $dbh->{'go_request_count'} == 1
624 0 3061 unless my $transport = $sth->{'go_transport'}
627 2 3059 if defined $sth->{'go_cache'}
631 0 3061 unless $sth->{'go_response'} = $response
635 2917 144 if (my $dbh_attributes = $response->dbh_attributes)
645 2989 72 if ($response->sth_resultsets) { }
663 0 5378 if defined $attr
683 96 3179 unless (my $response = $sth->{'go_response'})
689 0 3179 unless my $resultset_list = $response->sth_resultsets
692 180 2999 unless my $meta = shift @$resultset_list
706 2472 527 if (($NUM_OF_FIELDS || 0) > 0)
707 2180 292 $rowset ? :
709 292 2180 if defined $err
711 2180 292 if $rowset
739 4624 153 if @$resultset
755 30 184 if ref $slice or defined $max_rows
771 6428 0 if $sth_local_store_attrib{$attrib} or $attrib =~ /^private_/
778 0 0 if $sth->FETCH('Warn')