| line | true | false | branch | 
 
| 30 | 3132 | 20476 | unless exists $match_glob_cache{$l}{$r} | 
 
| 66 | 751 | 0 | ref $v && ref $v eq 'ARRAY' && !&List::Util::first(sub {
	not defined $_ unless ref $_;
}
, @$v) ? : | 
 
| 121 | 28 | 55 | unless $self->Cnf_columns->{$col} | 
 
| 141 | 0 | 166 | if $self->has_column($name) | 
 
| 165 | 265 | 118 | unless match_glob($col, $relcol) | 
 
| 194 | 5234 | 940 | unless match_glob($spec, $col) | 
 
| 196 | 940 | 0 | unless my $req = $self->Cnf_columns->{$col}{'required_fetch_colspecs'} | 
 
| 197 | 0 | 0 | unless ref $req | 
 
| 209 | 0 | 0 | unless defined $self->Cnf_columns->{$col}{'required_fetch_columns'} | 
 
| 241 | 0 | 176 | unless ($class->primary_columns > 0) | 
 
| 256 | 781 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 258 | 184 | 597 | if $opt{'relationship_info'} | 
 
| 266 | 11 | 770 | if ($self->ResultClass->has_virtual_column($name)) | 
 
| 268 | 4 | 7 | unless (&try(sub {
	$self->ResultClass->column_info($name)->{'set_function'};
}
)) | 
 
| 285 | 0 | 781 | unless $opt{'profiles'} | 
 
|  | 166 | 615 | if &List::Util::first(sub {
	$RapidApp::TableSpec::Column::Profile::NO_ALLOW_ADD_PROFILES{$_};
}
, @{[] unless $opt{'profiles'};}) | 
 
| 289 | 0 | 781 | unless $opt{'profiles'} | 
 
|  | 167 | 614 | if &List::Util::first(sub {
	$RapidApp::TableSpec::Column::Profile::NO_ALLOW_EDIT_PROFILES{$_};
}
, @{[] unless $opt{'profiles'};}) | 
 
| 293 | 644 | 137 | unless $editable | 
 
| 294 | 710 | 71 | unless $creatable | 
 
| 301 | 717 | 64 | unless (jstrue($opt{'no_column'})) | 
 
| 302 | 133 | 584 | if $editable | 
 
| 303 | 68 | 649 | if $creatable | 
 
| 306 | 641 | 140 | unless ($editable or $creatable) | 
 
| 307 | 63 | 578 | if $opt{'editor'} | 
 
| 351 | 0 | 0 | unless $class->can('TableSpec_cnf') | 
 
| 373 | 384 | 368 | if (ref $colspec eq 'ARRAY') | 
 
| 383 | 0 | 368 | if $colspec =~ /^\#/ | 
 
| 386 | 283 | 85 | unless @parts > 1 | 
 
| 392 | 84 | 1 | unless $relspec =~ /[\*\?\[\]\{]/ | 
 
| 397 | 0 | 1 | $match ? : | 
 
| 408 | 0 | 1 | if $macro | 
 
| 411 | 0 | 0 | unless $_ eq 'single' or $_ eq 'multi' | 
 
| 412 | 0 | 1 | if (@accessors > 0) | 
 
| 420 | 0 | 1 | unless $macros{'?'} or @matching_rels > 0 or scalar @rel_list == 0 | 
 
| 508 | 1563 | 2 | unless $self->m2m_rel_columns_indx->{$self->column_prefix . $_} | 
 
| 530 | 1560 | 2 | unless $self->m2m_rel_columns_indx->{$self->column_prefix . $_} | 
 
| 552 | 0 | 1683 | $match ? : | 
 
| 556 | 842 | 841 | unless scalar @parts == scalar @test_parts | 
 
| 559 | 0 | 1151 | unless my $test = shift @test_parts | 
 
| 560 | 369 | 782 | unless match_glob($part, $test) | 
 
| 571 | 0 | 354 | unless ref $colspecs eq 'ARRAY' | 
 
| 576 | 0 | 472 | if $result < 0 | 
 
| 577 | 472 | 0 | if $result > 0 | 
 
| 588 | 356 | 1664 | unless exists $dist_cache{$l}{$r} | 
 
| 618 | 0 | 32264 | $neg_flag ? : | 
 
| 619 | 0 | 32264 | $neg_flag ? : | 
 
| 634 | 16366 | 15898 | unless $prefix eq $test_prefix | 
 
| 637 | 2020 | 13878 | if (match_glob($colspec, $test_col)) | 
 
| 646 | 11086 | 1185 | unless my $other_val = $self->colspec_test($spec, $col) | 
 
| 649 | 62 | 1123 | if abs $other_val > abs $value | 
 
| 681 | 0 | 0 | if ref $_[0] eq 'ARRAY' | 
 
| 709 | 0 | 0 | if @columns == @matches | 
 
| 721 | 3395 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 724 | 176 | 3219 | unless defined $self->{'_colspec_select_columns_cache'} | 
 
| 726 | 0 | 3395 | unless my $colspecs = $opt{'colspecs'} | 
 
| 727 | 0 | 3395 | unless my $columns = $opt{'columns'} | 
 
| 736 | 1296 | 2099 | if defined $self->{'_colspec_select_columns_cache'}{$colspec_select_columns_key} | 
 
| 739 | 1557 | 542 | if ($self->has_cache) | 
 
| 746 | 698 | 859 | if $cache_content | 
 
| 756 | 0 | 1401 | unless ref $colspecs | 
 
| 757 | 0 | 1401 | unless ref $columns | 
 
| 759 | 1401 | 0 | unless $opt{'match_data'} | 
 
| 769 | 12323 | 9988 | if $best_match | 
 
| 771 | 19220 | 3091 | unless my $result = $self->colspec_test(@arg) | 
 
| 772 | 3091 | 0 | if $result > 0 | 
 
| 777 | 1621 | 1470 | unless $opt{'match_data'}{$col} | 
 
| 782 | 859 | 542 | if ($cache_key) | 
 
| 800 | 92 | 0 | $class->can('default_TableSpec_cnf_column_order') ? : | 
 
| 805 | 0 | 92 | unless $self->include_colspec->colspecs | 
 
| 814 | 0 | 92 | if ref $_[0] eq 'ARRAY' | 
 
| 821 | 0 | 92 | if $need_base | 
 
| 864 | 0 | 0 | unless ($rel) | 
 
| 871 | 0 | 0 | if $ndx{$column} | 
 
| 888 | 0 | 0 | unless my $TableSpec = $self->column_TableSpec($col) | 
 
| 915 | 0 | 0 | unless my $TableSpec = $self->related_TableSpec->{$rel} | 
 
| 929 | 0 | 3 | if (caller 1)[3] eq 'RapidApp::TableSpec::Role::DBIC::walk_columns_deep' | 
 
| 930 | 3 | 0 | unless $recurse | 
 
| 931 | 3 | 0 | unless $recurse | 
 
| 932 | 3 | 0 | unless $recurse | 
 
| 950 | 0 | 0 | unless my $TableSpec = $self->related_TableSpec->{$rel} | 
 
| 969 | 0 | 0 | if $rel eq '' | 
 
| 971 | 0 | 0 | unless my $info = $Row->result_source->relationship_info($rel) | 
 
| 974 | 0 | 0 | unless $info->{'attrs'}{'accessor'} eq 'single' or $info->{'attrs'}{'accessor'} eq 'filter' | 
 
| 987 | 0 | 0 | if not $seen{$_}++ | 
 
| 997 | 0 | 84 | ref $_[0] eq 'HASH' ? : | 
 
| 1000 | 0 | 84 | if defined $self->related_TableSpec->{$rel} | 
 
| 1003 | 0 | 84 | unless my $info = $self->ResultClass->relationship_info($rel) | 
 
| 1007 | 10 | 74 | if $relspec_prefix and $relspec_prefix ne '' | 
 
| 1028 | 84 | 0 | if ($class->can('TableSpec_get_conf') and $class->TableSpec_has_conf('related_column_property_transforms')) | 
 
| 1030 | 0 | 84 | if $rel_transforms->{$rel} | 
 
| 1039 | 84 | 0 | unless ($self->no_header_transform) | 
 
| 1040 | 272 | 20 | $_ ? : | 
 
| 1046 | 0 | 84 | unless my $TableSpec = $self->new_TableSpec(%params) | 
 
| 1071 | 292 | 1476 | if defined $rel | 
 
| 1204 | 46 | 0 | if $merge_join and $join | 
 
| 1208 | 17 | 29 | if (not defined $cond_data) { } | 
 
| 1221 | 7 | 22 | if (ref $cond_data->{'function'} eq 'CODE') { } | 
 
| 1227 | 7 | 15 | if ($m2m_attrs) { } | 
 
| 1298 | 0 | 7 | if ($sqlt_type eq 'PostgreSQL') { } | 
 
| 1319 | 0 | 15 | unless $cond_data->{'parent_source'} | 
 
| 1326 | 0 | 15 | $p_source->can('resolve_relationship_condition') ? : | 
 
| 1329 | 15 | 0 | if (not $rel_attrs->{'where'}) { } | 
 
| 1349 | 0 | 0 | unless $source->resultset_attributes | 
 
| 1350 | 0 | 0 | unless $cond_data->{'info'}{'attrs'} | 
 
| 1359 | 0 | 0 | if ($recent_dbic) { } | 
 
| 1400 | 15 | 0 | if ($cond_data->{'info'}{'attrs'}{'accessor'} eq 'multi') { } | 
 
| 1411 | 0 | 0 | unless my $display_column = $source->result_class->TableSpec_get_conf('display_column') | 
 
| 1433 | 0 | 46 | if ($get_render_col) | 
 
| 1435 | 0 | 0 | if $render_col | 
 
| 1440 | 46 | 0 | unless ($rel) | 
 
| 1448 | 22 | 24 | if ($cond_data) | 
 
| 1478 | 7 | 17 | if ($self->ResultClass->has_virtual_column($fieldName)) { } | 
 
|  | 0 | 17 | elsif ($self->ResultClass->has_relationship($fieldName)) { } | 
 
| 1498 | 0 | 7 | if ($info->{'join'}) | 
 
| 1510 | 0 | 0 | if ($cnf and $cnf->{'virtualized_single_rel'}) | 
 
| 1529 | 0 | 0 | if $alias eq 'me' | 
 
| 1551 | 0 | 0 | if ($i++ == 0) | 
 
| 1553 | 0 | 0 | if (ref $last) { } | 
 
| 1564 | 0 | 0 | unless $set_end | 
 
| 1576 | 184 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 1580 | 102 | 82 | if ($opt{'profiles'}) | 
 
| 1585 | 0 | 184 | if $opt{'virtualized_single_rel'} | 
 
| 1586 | 102 | 82 | if $self->multi_rel_columns_indx->{$rel} | 
 
| 1589 | 0 | 82 | unless my $info = $conf->{'relationship_info'} | 
 
| 1594 | 0 | 82 | unless defined $conf->{'displayField'} | 
 
| 1595 | 0 | 82 | unless defined $conf->{'valueField'} | 
 
| 1596 | 0 | 82 | unless defined $conf->{'keyField'} | 
 
| 1601 | 0 | 82 | unless my $Source = &try(sub {
	$self->ResultSource->related_source($rel);
}
, &catch(sub {
	warn RED() . BOLD() . $_ . CLEAR();
return undef;
}
)) | 
 
| 1614 | 4 | 78 | if &try(sub {
	$self->ResultSource->related_class($rel)->has_virtual_column($conf->{'displayField'});
}
) | 
 
| 1624 | 82 | 0 | if ($relTS) | 
 
| 1634 | 82 | 0 | if $conf->{'profiles'} | 
 
| 1651 | 0 | 0 | unless ref $rows eq 'ARRAY' | 
 
| 1653 | 0 | 0 | if exists $row->{$upd_key_col} | 
 
| 1663 | 82 | 0 | unless $conf->{'renderer'} | 
 
| 1668 | 80 | 2 | $self->ResultSource->has_column($rel) ? : | 
 
| 1669 | 2 | 80 | unless $is_also_local_col | 
 
| 1698 | 80 | 2 | if ($use_rest and $cond_data and $rel_rest_key and $conf->{'open_url'}) { } | 
 
| 1700 | 80 | 0 | $rel_rest_key eq $cond_data->{'foreign'} ? : | 
 
| 1706 | 0 | 80 | $rest_key ? : | 
 
|  | 80 | 0 | $is_phy ? : | 
 
| 1721 | 0 | 2 | $conf->{'open_url'} ? : | 
 
| 1736 | 82 | 0 | exists $conf->{'keyField'} ? : | 
 
| 1737 | 82 | 0 | if ($cinfo and defined $cinfo->{'is_nullable'} and not exists $conf->{'editor'}{'allowBlank'}) | 
 
| 1740 | 44 | 38 | if $cinfo->{'is_nullable'} == 0 | 
 
| 1741 | 38 | 44 | if ($cinfo->{'is_nullable'} == 1) | 
 
| 1748 | 0 | 82 | if $cinfo and exists $cinfo->{'default_value'} | 
 
| 1757 | 10 | 72 | if ($aet eq 'combo' or $aet eq 'dropdown') { } | 
 
|  | 0 | 72 | elsif ($aet eq 'grid') { } | 
 
|  | 72 | 0 | elsif ($aet eq 'custom') { } | 
 
| 1768 | 0 | 10 | $conf->{'RS_condition'} ? : | 
 
|  | 0 | 10 | $conf->{'RS_attr'} ? : | 
 
| 1770 | 10 | 0 | if $aet eq 'combo' | 
 
| 1779 | 10 | 0 | if ($conf->{'editor'}) | 
 
| 1780 | 0 | 10 | if ($conf->{'editor'}{'listeners'}) | 
 
| 1784 | 10 | 0 | if keys %{$$conf{'editor'};} > 0 | 
 
| 1793 | 0 | 0 | unless defined $conf->{'display_columns'} | 
 
| 1817 | 0 | 0 | $conf->{'header'} ? : | 
 
| 1841 | 72 | 0 | $conf->{'header'} ? : | 
 
| 1866 | 102 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 1869 | 1 | 101 | if $opt{'relationship_cond_data'}{'attrs'}{'m2m_attrs'} | 
 
| 1876 | 0 | 101 | if $rel_data->{'attrs'}{'title_multi'} | 
 
| 1877 | 0 | 101 | if $rel_data->{'attrs'}{'multiIconCls'} | 
 
| 1878 | 0 | 101 | if $rel_data->{'attrs'}{'open_url_multi'} | 
 
| 1879 | 0 | 101 | if $rel_data->{'attrs'}{'open_url_multi_rs_join_name'} | 
 
| 1887 | 0 | 101 | if defined $rel_data->{'attrs'}{'join'} and ref $rel_data->{'attrs'}{'join'} ne 'ARRAY' | 
 
| 1890 | 0 | 101 | if ($rel_data->{'attrs'}{'join'}) | 
 
| 1892 | 0 | 0 | unless scalar @{$rel_data->{'attrs'}{'join'};} > 0 | 
 
| 1896 | 101 | 0 | $conf->{'title_multi'} ? : | 
 
| 1909 | 98 | 3 | $conf->{'multiIconCls'} ? : | 
 
| 1917 | 101 | 0 | $rel_rest_key ? : | 
 
| 1920 | 101 | 0 | if $orgnCol | 
 
| 1922 | 101 | 0 | $rel_data->{'self'} ? : | 
 
| 1923 | 3 | 98 | if $rSelfCol and $rSelfCol ne ($orgnCol || '') | 
 
| 1931 | 101 | 0 | unless defined $use_rest | 
 
| 1932 | 96 | 5 | if ($use_rest and $orgnCol and $open_url) { } | 
 
| 1970 | 0 | 5 | if $attr->{'join'}[0] and $join_name eq 'me' | 
 
| 1972 | 5 | 0 | if (scalar @{$attr->{'join'};} == 0) { } | 
 
|  | 0 | 0 | elsif (scalar @{$attr->{'join'};} == 1) { } | 
 
| 2002 | 0 | 5 | $conf->{'open_url_multi'} ? : | 
 
|  | 5 | 0 | $rel_data->{'self'} ? : | 
 
| 2059 | 1 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 2107 | 0 | 1 | $conf->{'RS_condition'} ? : | 
 
|  | 0 | 1 | $conf->{'RS_attr'} ? : | 
 
| 2114 | 1 | 0 | unless exists $conf->{'editor'}{'allowBlank'} | 
 
| 2116 | 0 | 1 | if ($conf->{'editor'}{'listeners'}) | 
 
| 2120 | 1 | 0 | if keys %{$$conf{'editor'};} > 0 | 
 
| 2133 | 0 | 0 | ref $_[0] eq 'HASH' ? : | 
 
| 2143 | 0 | 0 | $rel_rest_key ? : | 
 
| 2146 | 0 | 0 | if $orgnCol | 
 
| 2149 | 0 | 0 | if ($use_rest and $orgnCol) | 
 
| 2168 | 0 | 11 | unless my $name = shift() | 
 
| 2169 | 0 | 11 | ref $_[0] eq 'HASH' ? : | 
 
| 2171 | 0 | 11 | unless my $rootModule = 'RapidApp'->_rootModule | 
 
| 2173 | 2 | 9 | unless $rootModule->has_module('tablespec') | 
 
| 2178 | 6 | 5 | unless $TMod->has_module($name) |