| line | true | false | branch | 
 
| 49 | 0 | 5937 | 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 =~ /^(.+)::(.+)$/) { } |