Branch Coverage

blib/lib/Class/DBI/Frozen/301.pm
Criterion Covered Total %
branch 36 228 15.7


line true false branch
49 0 24 if ($@)
61 0 0 unless $self
63 0 0 unless @cols
192 0 0 $class ? :
220 0 0 unless $col
232 0 0 if ($sql =~ /__IDENTIFIER__/)
272 3 0 unless $Per_DB_Attr_Defaults{lc $class->__driver}
294 8 1 if $table
295 0 9 if $alias
302 0 1 if $alias
310 30 19 if @_
311 10 9 if $group eq 'All'
312 4 5 if $group eq 'Primary'
313 4 1 if $group eq 'Essential'
331 0 0 unless my $class = ref $self
337 0 0 if wantarray
338 0 0 if @pk_values > 1
347 13 2 if wantarray
348 0 2 if @primary_columns > 1
410 82 32 $both ? :
419 228 228 if defined &{"${class}::$name";}
420 0 228 if 'Class::DBI'->can($name) and not $name eq 'id' && join(' ', $class->primary_columns) eq 'id'
440 0 0 ref $proto ? :
446 0 0 if defined $set
447 0 0 defined $$self{'__AutoCommit'} ? :
454 0 0 if defined $set
467 0 0 ref $_[0] eq 'HASH' ? :
469 0 0 defined $exists ? :
474 0 0 unless ref $_[0] eq 'HASH'
499 0 0 @_ == 1 ? :
508 0 0 @_ == 1 ? :
537 0 0 if (@primary_columns == grep(defined($_), @{$data;}{@primary_columns}))
544 0 0 unless (defined($obj = $Live_Objects{$obj_key}))
551 0 0 if ($obj_key and $Class::DBI::Weaken_Is_Available)
555 0 0 if ++$Init_Count % $class->purge_object_index_every == 0
584 0 0 if @primary_columns > 1
588 0 0 if $self->sequence
600 0 0 if $self->_undefined_primary
605 0 0 $class->has_real_column($col) ? :
611 0 0 if @primary_columns == 1
640 0 0 unless defined $id
656 0 0 if @primary_columns == 1 and not defined $$data{$primary_columns[0]}
660 0 0 if ($@)
673 0 0 unless my $datatype = $class->__data_type
675 0 0 if (my $type = $$datatype{$$keys[$i]})
683 1 0 unless my(@primary_columns) = $class->primary_columns
687 0 0 if (@_ == 1 and @primary_columns == 1) { }
689 0 0 unless defined $id
690 0 0 if ref $id
694 0 0 if keys %key_value < @primary_columns
700 0 0 if @rows > 1
716 0 0 if (@_)
718 0 0 unless (ref $arg)
719 0 0 unless @primary_columns == 1
749 0 0 unless $class->isa(ref $old_obj) or $old_obj->isa($class)
757 0 0 unless ref $self
761 0 0 if ($@)
791 0 0 unless my $class = ref $self
795 0 0 unless my(@changed_cols) = $self->is_changed
801 0 0 if $@
829 0 0 if (my(@changed) = $self->is_changed)
838 0 0 if $self->autoupdate
852 0 0 unless ref $self
855 0 0 unless @cols
857 0 0 if (my(@fetch_cols) = grep((!$self->_attribute_exists($_)), @cols))
867 0 0 if (my(@want) = grep((!$self->_attribute_exists($_)), $self->__grouper->columns_in(@real)))
888 0 0 unless my $col = $self->find_column($column)
894 0 0 if ($@)
900 0 0 if $self->autoupdate
932 0 0 if $@
934 0 0 unless @errors
947 144 72 if $sql =~ /select/i
954 0 144 if defined &{"${class}::$method";}
973 0 0 unless my $col = $class->find_column(shift())
975 0 0 unless my $how = shift()
977 0 0 if (ref $how eq 'ARRAY') { }
0 0 elsif (ref $how eq 'Regexp') { }
984 0 0 if (my $dispatch = $class->can($try_method)) { }
994 0 0 if ref $class
995 0 0 unless my $name = shift()
996 0 0 unless my $column = $class->find_column(shift())
998 0 0 unless my $code = shift()
1000 0 0 unless ref $code eq 'CODE'
1007 0 0 unless &$code($value, $self, $column, $column_values)
1016 0 5 if $name eq 'on_setting'
1018 0 5 if $name eq 'create' or $name eq 'delete'
1042 0 2 unless $class->__meta_info
1050 0 1 unless $type
1051 1 0 unless $subtype
1062 0 0 if ref $self
1063 0 0 unless ref $val
1064 0 0 unless my $meta = $self->meta_info('has_a', $col)
1066 0 0 if (my $deflate = $meths{'deflate'})
1067 0 0 ref $deflate eq 'CODE' ? :
1068 0 0 unless ref $val
1070 0 0 unless UNIVERSAL::isa($val, $a_class)
1072 0 0 if UNIVERSAL::isa($val, 'Class::DBI')
1095 0 0 if ref $args[0] eq 'HASH'
1097 0 0 @args % 2 ? :
1106 0 0 defined $vals[$_] ? :
1109 0 0 if $$search_opts{'order_by'}
1122 0 2 unless $method
1125 0 2 if *$meth{'CODE'}
1135 0 0 unless $sth
1136 0 0 unless (UNIVERSAL::isa($sth, 'DBI::st'))
1142 0 0 unless $$sth{'Active'}
1146 0 0 if $@
1161 0 0 unless defined wantarray
1162 0 0 if wantarray
1211 1 1 unless $class->$struct
1224 74 0 if exists ${"${load_class}::";}{'ISA'}
1226 0 0 if eval { do { require "$load_module.pm" } }
1229 0 0 if $@ =~ /^Can't locate \Q$load_module\E\.pm /
1243 0 0 if $load_class->isa('Class::DBI')