|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
71
 | 
 0  | 
 0  | 
 unless (defined $json)
  | 
 
| 
83
 | 
 0  | 
 0  | 
 unless $JSON::VERSION >= 2
  | 
 
| 
110
 | 
 0  | 
 0  | 
 if (wantarray) { }
  | 
 
| 
113
 | 
 0  | 
 0  | 
 if $ret[0]
  | 
 
| 
118
 | 
 0  | 
 0  | 
 if $ret
  | 
 
| 
127
 | 
 0  | 
 0  | 
 if ($error)
  | 
 
| 
130
 | 
 0  | 
 0  | 
 unless (UNIVERSAL::isa($error, 'Rose::DB::Object::Exception') and $error->code == 5)
  | 
 
| 
138
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 if $loaded
  | 
 
| 
156
 | 
 0  | 
 0  | 
 if (wantarray) { }
  | 
 
| 
159
 | 
 0  | 
 0  | 
 if $ret[0]
  | 
 
| 
164
 | 
 0  | 
 0  | 
 if $ret
  | 
 
| 
173
 | 
 0  | 
 0  | 
 if ($error)
  | 
 
| 
176
 | 
 0  | 
 0  | 
 unless (UNIVERSAL::isa($error, 'Rose::DB::Object::Exception') and $error->code == 5)
  | 
 
| 
184
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 if $loaded
  | 
 
| 
195
 | 
 0  | 
 0  | 
 if ($self->{'__xrdbopriv_in_db'})
  | 
 
| 
199
 | 
 0  | 
 0  | 
 unless $@
  | 
 
| 
222
 | 
 0  | 
 0  | 
 if ($error)
  | 
 
| 
225
 | 
 0  | 
 0  | 
 unless (UNIVERSAL::isa($error, 'Rose::DB::Object::Exception') and $error->code == 5)
  | 
 
| 
233
 | 
 0  | 
 0  | 
 if ($loaded)
  | 
 
| 
255
 | 
 0  | 
 0  | 
 unless ($self->db->supports_on_duplicate_key_update)
  | 
 
| 
283
 | 
 0  | 
 0  | 
 @_ == 1 ? :
  | 
 
| 
290
 | 
 0  | 
 0  | 
 unless length $name
  | 
 
| 
311
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
327
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
341
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
356
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
368
 | 
 0  | 
 0  | 
 defined($mutator = shift @mutators) && defined $_ ? :
  | 
 
| 
383
 | 
 0  | 
 0  | 
 defined($mutator = shift @mutators) && defined $_ ? :
  | 
 
| 
408
 | 
 0  | 
 0  | 
 if (my $db = $self->{'db'})
  | 
 
| 
425
 | 
 0  | 
 0  | 
 if (@_ == 1) { }
  | 
 
| 
429
 | 
 0  | 
 0  | 
 if ($rel = $meta->foreign_key($name)) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($rel = $meta->relationship($name)) { }
  | 
 
| 
431
 | 
 0  | 
 0  | 
 $rel->object_has_foreign_object($self) ? :
  | 
 
| 
435
 | 
 0  | 
 0  | 
 $rel->object_has_related_objects($self) ? :
  | 
 
| 
448
 | 
 0  | 
 0  | 
 if ($name = $args{'foreign_key'}) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($name = $args{'relationship'}) { }
  | 
 
| 
450
 | 
 0  | 
 0  | 
 unless $rel = $meta->foreign_key($name)
  | 
 
| 
453
 | 
 0  | 
 0  | 
 $rel->object_has_foreign_object($self) ? :
  | 
 
| 
457
 | 
 0  | 
 0  | 
 unless $rel = $meta->relationship($name)
  | 
 
| 
460
 | 
 0  | 
 0  | 
 $rel->object_has_related_objects($self) ? :
  | 
 
| 
477
 | 
 0  | 
 0  | 
 if (@_ == 1) { }
  | 
 
| 
481
 | 
 0  | 
 0  | 
 if ($rel = $meta->foreign_key($name)) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($rel = $meta->relationship($name)) { }
  | 
 
| 
500
 | 
 0  | 
 0  | 
 if ($name = $args{'foreign_key'}) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($name = $args{'relationship'}) { }
  | 
 
| 
502
 | 
 0  | 
 0  | 
 unless $rel = $meta->foreign_key($name)
  | 
 
| 
509
 | 
 0  | 
 0  | 
 unless $rel = $meta->relationship($name)
  | 
 
| 
527
 | 
 0  | 
 0  | 
 ref $args{'leave'} ? :
  | 
 
| 
531
 | 
 0  | 
 0  | 
 if ($leave{'relationships'} or $leave{'related_objects'}) { }
  | 
 
| 
535
 | 
 0  | 
 0  | 
 if (my $objs = $rel->object_has_related_objects($self))
  | 
 
| 
552
 | 
 0  | 
 0  | 
 if ($leave{'foreign_keys'} or $leave{'related_objects'}) { }
  | 
 
| 
556
 | 
 0  | 
 0  | 
 if (my $obj = $rel->object_has_foreign_object($self))
  | 
 
| 
570
 | 
 0  | 
 0  | 
 if ($leave{'db'}) { }
  | 
 
| 
572
 | 
 0  | 
 0  | 
 if $self->{'db'}
  | 
 
| 
580
 | 
 0  | 
 0  | 
 unless ($args{'strip_on_save_ok'})
  | 
 
| 
582
 | 
 0  | 
 0  | 
 if (__contains_code_ref($self->{'__xrdbopriv_on_save'}))
  | 
 
| 
603
 | 
 0  | 
 0  | 
 if ref $hash_ref->{$key} eq 'CODE'
  | 
 
| 
605
 | 
 0  | 
 0  | 
 if (ref $hash_ref->{$key} eq 'HASH') { }
  | 
 
| 
607
 | 
 0  | 
 0  | 
 if __contains_code_ref($hash_ref->{$key})
  | 
 
| 
636
 | 
 0  | 
 0  | 
 if (@_ == 1) { }
  | 
 
| 
648
 | 
 0  | 
 0  | 
 exists $args{'max_depth'} ? :
  | 
 
| 
649
 | 
 0  | 
 0  | 
 if $args{'allow_loops'}
  | 
 
| 
668
 | 
 0  | 
 0  | 
 if ($visited and $$visited{join $;, ref $self, primary_key_as_string($self)}++)
  | 
 
| 
673
 | 
 0  | 
 0  | 
 if ($handlers->{'object'})
  | 
 
| 
675
 | 
 0  | 
 0  | 
 if ($exclude and &$exclude($self, $parent, $rel_meta))
  | 
 
| 
680
 | 
 0  | 
 0  | 
 if ($force_load and not Rose::DB::Object::Util::is_in_db($self))
  | 
 
| 
688
 | 
 0  | 
 0  | 
 if (defined $max_depth and $depth == $max_depth)
  | 
 
| 
695
 | 
 0  | 
 0  | 
 if $prune and &$prune($rel, $self, $depth)
  | 
 
| 
705
 | 
 0  | 
 0  | 
 if defined $objs and not ref $objs
  | 
 
| 
707
 | 
 0  | 
 0  | 
 if ($force_load or $objs)
  | 
 
| 
709
 | 
 0  | 
 0  | 
 unless ($objs)
  | 
 
| 
717
 | 
 0  | 
 0  | 
 unless ref $objs eq 'ARRAY'
  | 
 
| 
721
 | 
 0  | 
 0  | 
 $handlers->{'relationship'} ? :
  | 
 
| 
725
 | 
 0  | 
 0  | 
 if $exclude and &$exclude($obj, $self, $rel)
  | 
 
| 
729
 | 
 0  | 
 0  | 
 if ($ret == -1 and $handlers->{'loop_avoided'})
  | 
 
| 
731
 | 
 0  | 
 0  | 
 if $handlers->{'loop_avoided'}->($obj, $c, $self, $context, $rel)
  | 
 
| 
746
 | 
 0  | 
 0  | 
 exists $args{'deflate'} ? :
  | 
 
| 
747
 | 
 0  | 
 0  | 
 exists $args{'persistent_columns_only'} ? :
  | 
 
| 
759
 | 
 0  | 
 0  | 
 if $deflate
  | 
 
| 
763
 | 
 0  | 
 0  | 
 unless ($persistent_columns_only)
  | 
 
| 
774
 | 
 0  | 
 0  | 
 if (ref $context eq 'ARRAY') { }
  | 
 
| 
793
 | 
 0  | 
 0  | 
 if ($self->meta->column($name))
  | 
 
| 
799
 | 
 0  | 
 0  | 
 if ($relationship->is_singular)
  | 
 
| 
868
 | 
 0  | 
 0  | 
 @_ == 1 ? :
  | 
 
| 
870
 | 
 0  | 
 0  | 
 unless length $name
  | 
 
| 
872
 | 
 0  | 
 0  | 
 if (my $column = $meta->column($name)) { }
  | 
 
| 
874
 | 
 0  | 
 0  | 
 if $Deflated
  | 
 
| 
887
 | 
 0  | 
 0  | 
 if (my $rel = $meta->relationship($name)) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($self->can($name)) { }
  | 
 
| 
895
 | 
 0  | 
 0  | 
 if ($ref eq 'HASH') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($ref eq 'ARRAY') { }
  | 
 
| 
900
 | 
 0  | 
 0  | 
 $rel->can('foreign_class') ? :
  | 
 
| 
905
 | 
 0  | 
 0  | 
 if $is_rel{$k}
  | 
 
| 
912
 | 
 0  | 
 0  | 
 if %rel_vals
  | 
 
| 
926
 | 
 0  | 
 0  | 
 $rel->can('foreign_class') ? :
  | 
 
| 
931
 | 
 0  | 
 0  | 
 if $is_rel{$k}
  | 
 
| 
950
 | 
 0  | 
 0  | 
 if %$sub_objects
  | 
 
| 
1003
 | 
 0  | 
 0  | 
 if (@_)
  | 
 
| 
1007
 | 
 0  | 
 0  | 
 UNIVERSAL::isa($column, 'Rose::DB::Object::Metadata::Column') ? :
  | 
 
| 
1017
 | 
 0  | 
 0  | 
 wantarray ? :
  |