Branch Coverage

lib/UR/Context/ImportIterator.pm
Criterion Covered Total %
branch 102 140 72.8


line true false branch
26 2031 14 unless ($primary_query_plan->{'joins_across_data_sources'})
38 0 14 if $seen_properties{$delegated_property_name}++
53 0 14 if $seen_properties{$primary_property}++
54 14 0 unless $rule_template->specifies_value_for($primary_property)
102 0 14 if $seen_properties{$primary_property_name}++
104 14 0 unless $value
125 14 0 unless (defined $column_position_offset and defined $object_num_offset)
203 14 14 if $join->{'foreign_class'}->isa('UR::Value') and $join eq $this_property_joins[-1]
215 17 15 if ($foreign_property_name_map{$property_name})
222 0 17 unless ($primary_property_meta)
228 0 17 unless ($secondary_property_meta)
233 11 6 if ($primary_property_meta->is_numeric and $secondary_property_meta->is_numeric)
238 17 0 if (exists $primary_query_column_positions{$primary_query_column_name}) { }
244 0 0 unless (grep {$_ eq $primary_query_column_name;} @{$$loading_templates[0]{'constant_property_names'};})
251 0 0 unless (defined $comparison_value)
276 0 39 unless $secondary_db_iterator
277 21 18 unless ($secondary_db_row)
279 8 13 unless ($secondary_db_row)
292 0 34 if (ref $primary_column) { }
294 0 0 if ($is_numeric) { }
300 28 6 if ($join_comparison_info[$i + 2]) { }
306 7 27 if ($comparison < 0) { }
16 11 elsif ($comparison == 0) { }
336 56 70 if (ref $value_to_copy eq 'ARRAY') { }
0 70 elsif (ref $value_to_copy eq 'HASH') { }
363 0 14 unless $secondary_object_importer
396 0 2031 if (my $sub_typing_property)
405 0 0 if ($rule_template_specifies_value_for_subtype) { }
0 0 elsif (not $class_table_name) { }
409 0 0 if ($type_obj) { }
411 0 0 if ($subclass_name and $subclass_name ne $class_name)
446 23 2008 if ($recursion_desc)
452 23 0 if ($query_plan->{'recurse_resolution_by_iteration'})
461 0 23 if (not $by_hand_recursive_rule_template or @extra)
479 27 2004 if ($group_by) { }
484 24 3 $aggregate ? :
485 17 10 unless grep {$_ eq 'count';} @aggregate_properties
492 0 32 unless ($set)
519 0 2164 unless $object_fabricator
528 14 2017 if (@addl_loading_info)
529 0 14 if ($group_by)
547 151 1880 if ($query_plan->{'rule_matches_all'} and not $group_by)
557 1175 104149 unless $db_iterator
565 105693 0 if $db_iterator
567 22 1978 if (not $next_db_row and $by_hand_recursive_rule_template and @by_hand_recursive_source_values)
570 10 12 unless ($by_hand_recursing_iterator)
577 10 12 unless ($next_object_to_return)
584 1978 103693 unless ($next_db_row)
587 796 1182 if ($rows == 0)
593 93 703 if ($rule_template_is_id_only) { }
602 151 1827 if ($query_plan->{'rule_matches_all'})
614 139 12 if (exists $UR::Context::all_objects_are_loaded->{$class_name})
619 23 1955 if ($recursion_desc)
629 2144 0 if $_
637 0 21 if ($obj)
672 8 24 unless (defined $secondary_db_row)
679 11 13 unless ($secondary_db_row)
706 26 104100 if (@secondary_data) { }
716 60 104053 if ($imported_object and not ref $imported_object)
726 103911 202 if (defined $imported_object and ref $imported_object)
727 1312 102599 if (not defined $object_ids_from_fabricators[$i]) { }
102370 229 elsif ($object_ids_from_fabricators[$i] ne $imported_object->id) { }
745 103971 142 if defined $_
748 60 0 if ($re_iterate and defined $primary_object_for_next_db_row and not ref $primary_object_for_next_db_row)
758 21 39 unless ($sub_iterator)
767 13 47 unless (defined $primary_object_for_next_db_row)
774 121 103527 unless (defined $primary_object_for_next_db_row)
779 0 103495 if (not $group_by and ref $primary_object_for_next_db_row ne $class_name and not $primary_object_for_next_db_row->isa($class_name))
784 17 103510 if ($by_hand_recursive_source_property)
789 1399 102128 if (not defined $next_object_to_return or &Scalar::Util::refaddr($next_object_to_return) == &Scalar::Util::refaddr($primary_object_for_next_db_row))