Branch Coverage

blib/lib/Class/DBI.pm
Criterion Covered Total %
branch 178 220 80.9


line true false branch
32 0 24 if ($@)
44 1 26 unless $self
46 20 6 unless @cols
196 20 0 unless $Per_DB_Attr_Defaults{lc $class->__driver}
218 38 473 if $table
219 0 511 if $alias
226 1 30 if $alias
234 128 78 if @_
235 35 43 if $group eq 'All'
236 6 37 if $group eq 'Primary'
237 7 30 if $group eq 'Essential'
246 1 227 ref $_ ? :
259 1 255 unless my $class = ref $self
266 191 64 if wantarray
267 0 64 if @pk_values > 1
276 1925 6 if wantarray
277 0 6 if @primary_columns > 1
340 190 38 if ($acc eq $mut or $mut eq $default_accessor) { }
367 532 738 if defined &{"${class}::$name";}
368 3 735 if 'Class::DBI'->can($name) and not $name eq 'id' && join(' ', $class->primary_columns) eq 'id'
378 7 200 if ($class->can('accessor_name'))
387 0 183 if ($class->can('mutator_name'))
396 42 3 ref $proto ? :
402 4 38 if defined $set
403 8 34 defined $$self{'__AutoCommit'} ? :
410 3 34 if defined $set
423 1 1 ref $_[0] eq 'HASH' ? :
425 1 1 defined $exists ? :
430 3 103 unless ref $_[0] eq 'HASH'
461 146 385 @_ == 1 ? :
470 0 38 @_ == 1 ? :
508 195 21 if ($key and $Weaken_Is_Available)
512 0 195 if ++$Init_Count % $class->purge_object_index_every == 0
524 21 332 unless @primary == grep(defined($$data{$_}), @primary)
549 0 20 if @primary_columns > 1
553 0 20 if $self->sequence
565 20 72 if $self->_undefined_primary
570 247 0 $class->has_real_column($col) ? :
576 92 0 if @primary_columns == 1
609 0 20 unless my $id = $dbh->last_insert_id(undef, undef, $self->table, undef) || $$dbh{'mysql_insertid'} || eval {
626 20 72 if @primary_columns == 1 and not defined $$data{$primary_columns[0]}
630 0 92 if ($@)
643 0 117 unless my $datatype = $class->__data_type
645 0 276 if (my $type = $$datatype{$$keys[$i]})
653 1 62 unless my(@primary_columns) = $class->primary_columns
657 60 2 if (@_ == 1 and @primary_columns == 1) { }
659 0 60 unless defined $id
660 1 59 if ref $id
664 1 1 if keys %key_value < @primary_columns
670 0 60 if @rows > 1
684 1 0 if (@_)
686 0 1 unless (ref $arg)
687 0 0 unless @primary_columns == 1
725 0 0 unless $class->isa(ref $old_obj) or $old_obj->isa($class)
733 1 25 if not ref $self
738 0 21 if ($@)
772 1 39 unless my $class = ref $self
776 11 25 unless my(@changed_cols) = $self->is_changed
782 1 24 if ($@)
816 2 187 if (my(@changed) = $self->is_changed)
825 0 2 if $self->autoupdate
839 1 320 unless ref $self
842 0 320 unless @cols
844 110 210 if (my(@fetch_cols) = grep((!$self->_attribute_exists($_)), @cols))
854 109 2 if (my(@want) = grep((!$self->_attribute_exists($_)), $self->__grouper->columns_in(@real)))
875 0 37 unless my $col = $self->find_column($column)
881 1 36 if ($@)
887 9 27 if $self->autoupdate
919 5 296 if $@
921 133 5 unless @errors
934 148 110 if $sql =~ /select/i
941 0 148 if defined &{"${class}::$method";}
960 0 4 unless my $col = $class->find_column(shift @_)
962 0 4 unless my $how = shift @_
964 1 3 if (ref $how eq 'ARRAY') { }
1 2 elsif (ref $how eq 'Regexp') { }
1 1 elsif (ref $how eq 'CODE') { }
974 1 0 if (my $dispatch = $class->can($try_method)) { }
984 0 11 if ref $class
985 1 10 unless my $name = shift @_
986 2 8 unless my $column = $class->find_column(shift @_)
988 1 7 unless my $code = shift @_
990 1 6 unless ref $code eq 'CODE'
997 5 12 unless &$code($value, $self, $column, $column_values)
1014 1 104 if $name eq 'on_setting'
1016 2 102 if $name eq 'create' or $name eq 'delete'
1048 1 175 unless $type
1049 11 164 unless $subtype
1060 40 117 if ref $self
1061 123 34 unless ref $val
1062 2 32 unless my $meta = $self->meta_info('has_a', $col)
1064 3 29 if (my $deflate = $meths{'deflate'})
1065 1 2 ref $deflate eq 'CODE' ? :
1066 2 1 unless ref $val
1068 2 28 unless UNIVERSAL::isa($val, $a_class)
1070 28 0 if UNIVERSAL::isa($val, 'Class::DBI')
1090 0 24 unless $class->can('run_search')
1119 1 10 unless $method
1122 0 10 if *$meth{'CODE'}
1132 0 134 unless $sth
1133 12 122 unless (UNIVERSAL::isa($sth, 'DBI::st'))
1139 126 8 unless $$sth{'Active'}
1143 0 134 if $@
1158 0 134 unless defined wantarray
1159 105 29 if wantarray
1208 8 21 unless $class->$struct
1221 45 568 if exists ${"${load_class}::";}{'ISA'}
1223 567 1 if eval {
1226 1 0 if $@ =~ /^Can't locate \Q$load_module\E\.pm /
1240 0 0 if $load_class->isa('Class::DBI')