Branch Coverage

blib/lib/Rose/DB/Object.pm
Criterion Covered Total %
branch 1 372 0.2


line true false branch
49 0 5946 if (ref $self)
66 0 0 if (@_)
75 0 0 if ($self->{'__xrdbopriv_loaded_from_driver'} and $self->{'__xrdbopriv_loaded_from_driver'} ne $new_db->{'driver'})
109 0 0 unless ($error)
115 0 0 if (ref $error) { }
121 0 0 $db ? :
132 0 0 unless my $db = $self->db
134 0 0 if (my $dbh = $db->dbh(@_)) { }
155 0 0 unless my $db = $self->db
156 0 0 unless my $dbh = $self->dbh
161 0 0 exists $args{'prepare_cached'} ? :
172 0 0 if (my $key = delete $args{'use_key'}) { }
176 0 0 if (@uk == 1) { }
181 0 0 if defined $_
184 0 0 unless ($defined)
191 0 0 if (@key_values != $defined)
204 0 0 unless (@key_values == @key_columns)
216 0 0 if defined $_
219 0 0 if ($defined == @key_columns)
225 0 0 if $defined
228 0 0 if (not $found_key and $alt_columns)
237 0 0 unless ($found_key)
241 0 0 @key_columns > 1 ? :
258 0 0 $args{'nonlazy'} ? :
261 0 0 if ($has_lazy_columns) { }
272 0 0 if (delete $args{'for_update'})
281 0 0 if (my $with = $args{'with'})
306 0 0 exists $args{'prepare_cached'} ? :
0 0 unless $objects = $mgr_class->get_objects('object_class', ref $self, 'db', $db, 'query', [%query], 'with_objects', $with, 'multi_many_ok', 1, 'nonlazy', $args{'nonlazy'}, 'inject_results', $args{'inject_results'}, 'lock', $args{'lock'}, exists $args{'prepare_cached'} ? ('prepare_cached', $args{'prepare_cached'}) : ())
310 0 0 if (@$objects > 1)
319 0 0 if ($error)
321 0 0 ref $error ? :
326 0 0 if (@$objects > 0) { }
353 0 0 exists $args{'speculative'} ? :
356 0 0 unless ($speculative)
389 0 0 if ($null_key) { }
391 0 0 if ($has_lazy_columns) { }
402 0 0 if ($has_lazy_columns) { }
412 0 0 if (my $lock = $args{'lock'})
418 0 0 $prepare_cached ? :
421 0 0 if $Debug
436 0 0 if ($loaded_ok) { }
473 0 0 if ($error)
475 0 0 ref $error ? :
480 0 0 unless ($loaded_ok)
483 0 0 exists $args{'speculative'} ? :
486 0 0 unless ($speculative)
507 0 0 exists $args{'cascade'} ? :
511 0 0 if ($self->{'__xrdbopriv_on_save'} or $cascade) { }
518 0 0 unless ($ret)
521 0 0 ref $error ? :
526 0 0 $ret == -1 ? :
550 0 0 unless my $code = $todo->{'fk'}{$fk_name}{'set'}
554 0 0 unless ($object or ref $object)
568 0 0 if (not $args{'insert'} and $args{'update'} || $self->{'__xrdbopriv_in_db'}) { }
586 0 0 unless $todo->{'fk'}{$fk_name}{'delete'}
592 0 0 if $did_set{'fk'}{$fk_name}{Rose::DB::Object::Util::row_id($object)}
594 0 0 unless &$code($self, \%code_args)
598 0 0 if ($cascade)
604 0 0 if $todo->{'fk'}{$fk->name}{'set'}
608 0 0 if (Rose::DB::Object::Util::has_modified_columns($foreign_object) or Rose::DB::Object::Util::has_modified_children($foreign_object))
611 0 0 if $Debug
623 0 0 if ($code = $todo->{'rel'}{$rel_name}{'set'})
625 0 0 unless &$code($self, \%code_args)
629 0 0 if ($code = $todo->{'rel'}{$rel_name}{'delete'})
631 0 0 unless &$code($self, \%code_args)
635 0 0 if ($code = $todo->{'rel'}{$rel_name}{'add'}{'code'})
637 0 0 unless &$code($self, \%code_args)
641 0 0 if ($cascade)
647 0 0 if $todo->{'rel'}{$rel->name}{'set'}
653 0 0 if (Rose::DB::Object::Util::has_modified_columns($related_object) or Rose::DB::Object::Util::has_modified_children($related_object))
656 0 0 if $Debug
663 0 0 if ($started_new_tx)
665 0 0 unless $db->commit
674 0 0 if ($error)
677 0 0 if $started_new_tx
688 0 0 if (not $args{'insert'} and $args{'update'} || $self->{'__xrdbopriv_in_db'})
701 0 0 unless my $db = $self->db
702 0 0 unless my $dbh = $self->dbh
707 0 0 exists $args{'prepare_cached'} ? :
711 0 0 exists $args{'changes_only'} ? :
721 0 0 if @key_columns == $meta->num_columns
727 0 0 unless (@key_values == @key_columns)
729 0 0 @key_columns > 1 ? :
761 0 0 if ($meta->allow_inline_column_values) { }
770 0 0 if ($changes_only) { }
773 0 0 unless $self->{'__xrdbopriv_modified_columns'}
0 0 unless %{{} unless $self->{'__xrdbopriv_modified_columns'};}
777 0 0 unless ($sql)
788 0 0 if ($Debug)
796 0 0 if ($bind_params) { }
823 0 0 if ($changes_only) { }
0 0 elsif ($meta->has_lazy_columns) { }
826 0 0 unless $self->{'__xrdbopriv_modified_columns'}
0 0 unless %{{} unless $self->{'__xrdbopriv_modified_columns'};}
830 0 0 unless ($sql)
837 0 0 $prepare_cached ? :
840 0 0 if ($Debug)
846 0 0 if ($meta->dbi_requires_bind_param($db)) { }
876 0 0 $prepare_cached ? :
879 0 0 if ($Debug)
885 0 0 if ($meta->dbi_requires_bind_param($db)) { }
915 0 0 $prepare_cached ? :
922 0 0 if ($Debug)
930 0 0 if ($meta->dbi_requires_bind_param($db)) { }
966 0 0 if ($error)
968 0 0 ref $error ? :
984 0 0 unless my $db = $self->db
985 0 0 unless my $dbh = $self->dbh
990 0 0 exists $args{'prepare_cached'} ? :
994 0 0 exists $args{'changes_only'} ? :
1015 0 0 unless (@pk_values == @pk_methods or $args{'on_duplicate_key_update'})
1019 0 0 unless (@generated_pk_values)
1025 0 0 unless (@generated_pk_values == @pk_methods)
1027 0 0 @pk_values == 1 ? :
1042 0 0 unless defined $pk_value
1062 0 0 if ($meta->allow_inline_column_values) { }
1066 0 0 if ($args{'on_duplicate_key_update'}) { }
0 0 elsif ($changes_only) { }
1081 0 0 if ($Debug)
1089 0 0 if ($bind_params) { }
1110 0 0 if ($args{'on_duplicate_key_update'} or $changes_only) { }
1114 0 0 if ($args{'on_duplicate_key_update'}) { }
1125 0 0 if ($Debug)
1131 0 0 $prepare_cached ? :
1135 0 0 if ($meta->dbi_requires_bind_param($db)) { }
1154 0 0 $prepare_cached ? :
1158 0 0 if ($Debug)
1168 0 0 if ($meta->dbi_requires_bind_param($db)) { }
1187 0 0 if (@pk_methods == 1) { }
0 0 elsif (@pk_values == @pk_methods) { }
0 0 elsif (not $using_pk_placeholders) { }
1191 0 0 if ($using_pk_placeholders or not defined $self->$get_pk) { }
0 0 elsif (not $using_pk_placeholders and defined $self->$get_pk) { }
1219 0 0 unless (defined $self->$pk)
1224 0 0 if ($got_last_insert_id) { }
0 0 elsif (my $pk_val = $db->last_insertid_from_sth($sth)) { }
1257 0 0 if ($error)
1259 0 0 ref $error ? :
1279 0 0 exists $args{'prepare_cached'} ? :
1287 0 0 unless (@pk_values == @pk_methods)
1296 0 0 if (my $cascade = $args{'cascade'}) { }
1298 0 0 unless (exists $CASCADE_VALUES{$cascade})
1321 0 0 unless (defined $ret)
1327 0 0 $ret == -1 ? :
1329 0 0 unless ($self->{'__xrdbopriv_in_db'})
1331 0 0 unless $self->load
1345 0 0 if ($rel_type eq 'one to many') { }
0 0 elsif ($rel_type eq 'many to many') { }
0 0 elsif ($rel_type eq 'one to one') { }
1358 0 0 unless defined $value
1363 0 0 if ($cascade eq 'delete') { }
0 0 elsif ($cascade eq 'null') { }
1405 0 0 unless defined $value
1410 0 0 if ($cascade eq 'delete') { }
0 0 elsif ($cascade eq 'null') { }
1436 0 0 unless my $dbh = $db->dbh
1441 0 0 $prepare_cached ? :
1444 0 0 if $Debug
1447 0 0 unless ($sth->rows > 0)
1456 0 0 unless $fk->relationship_type eq 'one to one'
1469 0 0 unless defined $value
1474 0 0 if ($cascade eq 'delete') { }
0 0 elsif ($cascade eq 'null') { }
1508 0 0 unless defined $value
1513 0 0 if ($cascade eq 'delete') { }
0 0 elsif ($cascade eq 'null') { }
1533 0 0 if ($started_new_tx)
1535 0 0 unless $db->commit
1542 0 0 if ($error)
1545 0 0 ref $error ? :
1546 0 0 if $db and $started_new_tx
1557 0 0 unless my $db = $self->db
1558 0 0 unless my $dbh = $db->dbh
1572 0 0 $prepare_cached ? :
1575 0 0 if $Debug
1578 0 0 unless ($sth->rows > 0)
1588 0 0 if ($error)
1590 0 0 ref $error ? :
1618 0 0 if (@fks or @rels)
1634 0 0 unless $thing->parent->class eq $class
1638 0 0 $thing->isa('Rose::DB::Object::Metadata::ForeignKey') ? :
0 0 $thing->isa('Rose::DB::Object::Metadata::Relationship') ? :
1646 0 0 if $tmp_msg and $found
1653 0 0 ref $self ? :
1655 0 0 if ($AUTOLOAD =~ /^(.+)::(.+)$/) { }