|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
30
 | 
 1318  | 
 9995  | 
 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
 | 
 214  | 
 435  | 
 unless exists $dist_cache{$l}{$r}
  | 
 
| 
618
 | 
 0  | 
 8183  | 
 $neg_flag ? :
  | 
 
| 
619
 | 
 0  | 
 8183  | 
 $neg_flag ? :
  | 
 
| 
634
 | 
 4580  | 
 3603  | 
 unless $prefix eq $test_prefix
  | 
 
| 
637
 | 
 649  | 
 2954  | 
 if (match_glob($colspec, $test_col))
  | 
 
| 
646
 | 
 0  | 
 0  | 
 unless my $other_val = $self->colspec_test($spec, $col)
  | 
 
| 
649
 | 
 0  | 
 0  | 
 if abs $other_val > abs $value
  | 
 
| 
681
 | 
 0  | 
 0  | 
 if ref $_[0] eq 'ARRAY'
  | 
 
| 
709
 | 
 0  | 
 0  | 
 if @columns == @matches
  | 
 
| 
721
 | 
 3303  | 
 0  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
724
 | 
 176  | 
 3127  | 
 unless defined $self->{'_colspec_select_columns_cache'}
  | 
 
| 
726
 | 
 0  | 
 3303  | 
 unless my $colspecs = $opt{'colspecs'}
  | 
 
| 
727
 | 
 0  | 
 3303  | 
 unless my $columns = $opt{'columns'}
  | 
 
| 
736
 | 
 1296  | 
 2007  | 
 if defined $self->{'_colspec_select_columns_cache'}{$colspec_select_columns_key}
  | 
 
| 
739
 | 
 1465  | 
 542  | 
 if ($self->has_cache)
  | 
 
| 
746
 | 
 685  | 
 780  | 
 if $cache_content
  | 
 
| 
756
 | 
 0  | 
 1322  | 
 unless ref $colspecs
  | 
 
| 
757
 | 
 0  | 
 1322  | 
 unless ref $columns
  | 
 
| 
759
 | 
 1322  | 
 0  | 
 unless $opt{'match_data'}
  | 
 
| 
769
 | 
 0  | 
 9260  | 
 if $best_match
  | 
 
| 
771
 | 
 7534  | 
 1726  | 
 unless my $result = $self->colspec_test(@arg)
  | 
 
| 
772
 | 
 1726  | 
 0  | 
 if $result > 0
  | 
 
| 
777
 | 
 1005  | 
 721  | 
 unless $opt{'match_data'}{$col}
  | 
 
| 
782
 | 
 780  | 
 542  | 
 if ($cache_key)
  | 
 
| 
802
 | 
 0  | 
 0  | 
 if ($remote) { }
  | 
 
| 
834
 | 
 166  | 
 781  | 
 if ($remote) { }
  | 
 
| 
894
 | 
 0  | 
 0  | 
 $class->can('default_TableSpec_cnf_column_order') ? :
  | 
 
| 
899
 | 
 0  | 
 0  | 
 unless $self->include_colspec->colspecs
  | 
 
| 
908
 | 
 0  | 
 0  | 
 if ref $_[0] eq 'ARRAY'
  | 
 
| 
915
 | 
 0  | 
 0  | 
 if $need_base
  | 
 
| 
958
 | 
 0  | 
 0  | 
 unless ($rel)
  | 
 
| 
965
 | 
 0  | 
 0  | 
 if $ndx{$column}
  | 
 
| 
982
 | 
 0  | 
 0  | 
 unless my $TableSpec = $self->column_TableSpec($col)
  | 
 
| 
1009
 | 
 0  | 
 0  | 
 unless my $TableSpec = $self->related_TableSpec->{$rel}
  | 
 
| 
1023
 | 
 0  | 
 3  | 
 if (caller 1)[3] eq 'RapidApp::TableSpec::Role::DBIC::walk_columns_deep'
  | 
 
| 
1024
 | 
 3  | 
 0  | 
 unless $recurse
  | 
 
| 
1025
 | 
 3  | 
 0  | 
 unless $recurse
  | 
 
| 
1026
 | 
 3  | 
 0  | 
 unless $recurse
  | 
 
| 
1044
 | 
 0  | 
 0  | 
 unless my $TableSpec = $self->related_TableSpec->{$rel}
  | 
 
| 
1063
 | 
 0  | 
 0  | 
 if $rel eq ''
  | 
 
| 
1065
 | 
 0  | 
 0  | 
 unless my $info = $Row->result_source->relationship_info($rel)
  | 
 
| 
1068
 | 
 0  | 
 0  | 
 unless $info->{'attrs'}{'accessor'} eq 'single' or $info->{'attrs'}{'accessor'} eq 'filter'
  | 
 
| 
1081
 | 
 0  | 
 0  | 
 if not $seen{$_}++
  | 
 
| 
1091
 | 
 0  | 
 84  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
1094
 | 
 0  | 
 84  | 
 if defined $self->related_TableSpec->{$rel}
  | 
 
| 
1097
 | 
 0  | 
 84  | 
 unless my $info = $self->ResultClass->relationship_info($rel)
  | 
 
| 
1101
 | 
 10  | 
 74  | 
 if $relspec_prefix and $relspec_prefix ne ''
  | 
 
| 
1122
 | 
 84  | 
 0  | 
 if ($class->can('TableSpec_get_conf') and $class->TableSpec_has_conf('related_column_property_transforms'))
  | 
 
| 
1124
 | 
 0  | 
 84  | 
 if $rel_transforms->{$rel}
  | 
 
| 
1133
 | 
 84  | 
 0  | 
 unless ($self->no_header_transform)
  | 
 
| 
1134
 | 
 272  | 
 20  | 
 $_ ? :
  | 
 
| 
1140
 | 
 0  | 
 84  | 
 unless my $TableSpec = $self->new_TableSpec(%params)
  | 
 
| 
1165
 | 
 292  | 
 1476  | 
 if defined $rel
  | 
 
| 
1298
 | 
 46  | 
 0  | 
 if $merge_join and $join
  | 
 
| 
1302
 | 
 17  | 
 29  | 
 if (not defined $cond_data) { }
  | 
 
| 
1315
 | 
 7  | 
 22  | 
 if (ref $cond_data->{'function'} eq 'CODE') { }
  | 
 
| 
1321
 | 
 7  | 
 15  | 
 if ($m2m_attrs) { }
  | 
 
| 
1392
 | 
 0  | 
 7  | 
 if ($sqlt_type eq 'PostgreSQL') { }
  | 
 
| 
1413
 | 
 0  | 
 15  | 
 unless $cond_data->{'parent_source'}
  | 
 
| 
1420
 | 
 0  | 
 15  | 
 $p_source->can('resolve_relationship_condition') ? :
  | 
 
| 
1423
 | 
 15  | 
 0  | 
 if (not $rel_attrs->{'where'}) { }
  | 
 
| 
1443
 | 
 0  | 
 0  | 
 unless $source->resultset_attributes
  | 
 
| 
1444
 | 
 0  | 
 0  | 
 unless $cond_data->{'info'}{'attrs'}
  | 
 
| 
1453
 | 
 0  | 
 0  | 
 if ($recent_dbic) { }
  | 
 
| 
1494
 | 
 15  | 
 0  | 
 if ($cond_data->{'info'}{'attrs'}{'accessor'} eq 'multi') { }
  | 
 
| 
1505
 | 
 0  | 
 0  | 
 unless my $display_column = $source->result_class->TableSpec_get_conf('display_column')
  | 
 
| 
1527
 | 
 0  | 
 46  | 
 if ($get_render_col)
  | 
 
| 
1529
 | 
 0  | 
 0  | 
 if $render_col
  | 
 
| 
1534
 | 
 46  | 
 0  | 
 unless ($rel)
  | 
 
| 
1542
 | 
 22  | 
 24  | 
 if ($cond_data)
  | 
 
| 
1572
 | 
 7  | 
 17  | 
 if ($self->ResultClass->has_virtual_column($fieldName)) { }
  | 
 
| 
 | 
 0  | 
 17  | 
 elsif ($self->ResultClass->has_relationship($fieldName)) { }
  | 
 
| 
1592
 | 
 0  | 
 7  | 
 if ($info->{'join'})
  | 
 
| 
1604
 | 
 0  | 
 0  | 
 if ($cnf and $cnf->{'virtualized_single_rel'})
  | 
 
| 
1623
 | 
 0  | 
 0  | 
 if $alias eq 'me'
  | 
 
| 
1645
 | 
 0  | 
 0  | 
 if ($i++ == 0)
  | 
 
| 
1647
 | 
 0  | 
 0  | 
 if (ref $last) { }
  | 
 
| 
1658
 | 
 0  | 
 0  | 
 unless $set_end
  | 
 
| 
1670
 | 
 184  | 
 0  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
1674
 | 
 102  | 
 82  | 
 if ($opt{'profiles'})
  | 
 
| 
1679
 | 
 0  | 
 184  | 
 if $opt{'virtualized_single_rel'}
  | 
 
| 
1680
 | 
 102  | 
 82  | 
 if $self->multi_rel_columns_indx->{$rel}
  | 
 
| 
1683
 | 
 0  | 
 82  | 
 unless my $info = $conf->{'relationship_info'}
  | 
 
| 
1688
 | 
 0  | 
 82  | 
 unless defined $conf->{'displayField'}
  | 
 
| 
1689
 | 
 0  | 
 82  | 
 unless defined $conf->{'valueField'}
  | 
 
| 
1690
 | 
 0  | 
 82  | 
 unless defined $conf->{'keyField'}
  | 
 
| 
1695
 | 
 0  | 
 82  | 
 unless my $Source = &try(sub {
	$self->ResultSource->related_source($rel);
}
, &catch(sub {
	warn RED() . BOLD() . $_ . CLEAR();
return undef;
}
))
  | 
 
| 
1708
 | 
 4  | 
 78  | 
 if &try(sub {
	$self->ResultSource->related_class($rel)->has_virtual_column($conf->{'displayField'});
}
)
  | 
 
| 
1718
 | 
 82  | 
 0  | 
 if ($relTS)
  | 
 
| 
1728
 | 
 82  | 
 0  | 
 if $conf->{'profiles'}
  | 
 
| 
1745
 | 
 0  | 
 0  | 
 unless ref $rows eq 'ARRAY'
  | 
 
| 
1747
 | 
 0  | 
 0  | 
 if exists $row->{$upd_key_col}
  | 
 
| 
1757
 | 
 82  | 
 0  | 
 unless $conf->{'renderer'}
  | 
 
| 
1762
 | 
 80  | 
 2  | 
 $self->ResultSource->has_column($rel) ? :
  | 
 
| 
1763
 | 
 2  | 
 80  | 
 unless $is_also_local_col
  | 
 
| 
1792
 | 
 80  | 
 2  | 
 if ($use_rest and $cond_data and $rel_rest_key and $conf->{'open_url'}) { }
  | 
 
| 
1794
 | 
 80  | 
 0  | 
 $rel_rest_key eq $cond_data->{'foreign'} ? :
  | 
 
| 
1800
 | 
 0  | 
 80  | 
 $rest_key ? :
  | 
 
| 
 | 
 80  | 
 0  | 
 $is_phy ? :
  | 
 
| 
1815
 | 
 0  | 
 2  | 
 $conf->{'open_url'} ? :
  | 
 
| 
1830
 | 
 82  | 
 0  | 
 exists $conf->{'keyField'} ? :
  | 
 
| 
1831
 | 
 82  | 
 0  | 
 if ($cinfo and defined $cinfo->{'is_nullable'} and not exists $conf->{'editor'}{'allowBlank'})
  | 
 
| 
1834
 | 
 44  | 
 38  | 
 if $cinfo->{'is_nullable'} == 0
  | 
 
| 
1835
 | 
 38  | 
 44  | 
 if ($cinfo->{'is_nullable'} == 1)
  | 
 
| 
1842
 | 
 0  | 
 82  | 
 if $cinfo and exists $cinfo->{'default_value'}
  | 
 
| 
1851
 | 
 10  | 
 72  | 
 if ($aet eq 'combo' or $aet eq 'dropdown') { }
  | 
 
| 
 | 
 0  | 
 72  | 
 elsif ($aet eq 'grid') { }
  | 
 
| 
 | 
 72  | 
 0  | 
 elsif ($aet eq 'custom') { }
  | 
 
| 
1862
 | 
 0  | 
 10  | 
 $conf->{'RS_condition'} ? :
  | 
 
| 
 | 
 0  | 
 10  | 
 $conf->{'RS_attr'} ? :
  | 
 
| 
1864
 | 
 10  | 
 0  | 
 if $aet eq 'combo'
  | 
 
| 
1873
 | 
 10  | 
 0  | 
 if ($conf->{'editor'})
  | 
 
| 
1874
 | 
 0  | 
 10  | 
 if ($conf->{'editor'}{'listeners'})
  | 
 
| 
1878
 | 
 10  | 
 0  | 
 if keys %{$$conf{'editor'};} > 0
  | 
 
| 
1887
 | 
 0  | 
 0  | 
 unless defined $conf->{'display_columns'}
  | 
 
| 
1911
 | 
 0  | 
 0  | 
 $conf->{'header'} ? :
  | 
 
| 
1935
 | 
 72  | 
 0  | 
 $conf->{'header'} ? :
  | 
 
| 
1960
 | 
 102  | 
 0  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
1963
 | 
 1  | 
 101  | 
 if $opt{'relationship_cond_data'}{'attrs'}{'m2m_attrs'}
  | 
 
| 
1970
 | 
 0  | 
 101  | 
 if $rel_data->{'attrs'}{'title_multi'}
  | 
 
| 
1971
 | 
 0  | 
 101  | 
 if $rel_data->{'attrs'}{'multiIconCls'}
  | 
 
| 
1972
 | 
 0  | 
 101  | 
 if $rel_data->{'attrs'}{'open_url_multi'}
  | 
 
| 
1973
 | 
 0  | 
 101  | 
 if $rel_data->{'attrs'}{'open_url_multi_rs_join_name'}
  | 
 
| 
1981
 | 
 0  | 
 101  | 
 if defined $rel_data->{'attrs'}{'join'} and ref $rel_data->{'attrs'}{'join'} ne 'ARRAY'
  | 
 
| 
1984
 | 
 0  | 
 101  | 
 if ($rel_data->{'attrs'}{'join'})
  | 
 
| 
1986
 | 
 0  | 
 0  | 
 unless scalar @{$rel_data->{'attrs'}{'join'};} > 0
  | 
 
| 
1990
 | 
 101  | 
 0  | 
 $conf->{'title_multi'} ? :
  | 
 
| 
2003
 | 
 98  | 
 3  | 
 $conf->{'multiIconCls'} ? :
  | 
 
| 
2011
 | 
 101  | 
 0  | 
 $rel_rest_key ? :
  | 
 
| 
2014
 | 
 101  | 
 0  | 
 if $orgnCol
  | 
 
| 
2016
 | 
 101  | 
 0  | 
 $rel_data->{'self'} ? :
  | 
 
| 
2017
 | 
 3  | 
 98  | 
 if $rSelfCol and $rSelfCol ne ($orgnCol || '')
  | 
 
| 
2025
 | 
 101  | 
 0  | 
 unless defined $use_rest
  | 
 
| 
2026
 | 
 96  | 
 5  | 
 if ($use_rest and $orgnCol and $open_url) { }
  | 
 
| 
2064
 | 
 0  | 
 5  | 
 if $attr->{'join'}[0] and $join_name eq 'me'
  | 
 
| 
2066
 | 
 5  | 
 0  | 
 if (scalar @{$attr->{'join'};} == 0) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (scalar @{$attr->{'join'};} == 1) { }
  | 
 
| 
2096
 | 
 0  | 
 5  | 
 $conf->{'open_url_multi'} ? :
  | 
 
| 
 | 
 5  | 
 0  | 
 $rel_data->{'self'} ? :
  | 
 
| 
2153
 | 
 1  | 
 0  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
2201
 | 
 0  | 
 1  | 
 $conf->{'RS_condition'} ? :
  | 
 
| 
 | 
 0  | 
 1  | 
 $conf->{'RS_attr'} ? :
  | 
 
| 
2208
 | 
 1  | 
 0  | 
 unless exists $conf->{'editor'}{'allowBlank'}
  | 
 
| 
2210
 | 
 0  | 
 1  | 
 if ($conf->{'editor'}{'listeners'})
  | 
 
| 
2214
 | 
 1  | 
 0  | 
 if keys %{$$conf{'editor'};} > 0
  | 
 
| 
2227
 | 
 0  | 
 0  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
2237
 | 
 0  | 
 0  | 
 $rel_rest_key ? :
  | 
 
| 
2240
 | 
 0  | 
 0  | 
 if $orgnCol
  | 
 
| 
2243
 | 
 0  | 
 0  | 
 if ($use_rest and $orgnCol)
  | 
 
| 
2262
 | 
 0  | 
 11  | 
 unless my $name = shift()
  | 
 
| 
2263
 | 
 0  | 
 11  | 
 ref $_[0] eq 'HASH' ? :
  | 
 
| 
2265
 | 
 0  | 
 11  | 
 unless my $rootModule = 'RapidApp'->_rootModule
  | 
 
| 
2267
 | 
 2  | 
 9  | 
 unless $rootModule->has_module('tablespec')
  | 
 
| 
2272
 | 
 6  | 
 5  | 
 unless $TMod->has_module($name)
  |