|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
30
 | 
 3400  | 
 21624  | 
 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
 | 
 394  | 
 1802  | 
 unless exists $dist_cache{$l}{$r}
  | 
 
| 
618
 | 
 0  | 
 34688  | 
 $neg_flag ? :
  | 
 
| 
619
 | 
 0  | 
 34688  | 
 $neg_flag ? :
  | 
 
| 
634
 | 
 17374  | 
 17314  | 
 unless $prefix eq $test_prefix
  | 
 
| 
637
 | 
 2196  | 
 15118  | 
 if (match_glob($colspec, $test_col))
  | 
 
| 
646
 | 
 12110  | 
 1304  | 
 unless my $other_val = $self->colspec_test($spec, $col)
  | 
 
| 
649
 | 
 68  | 
 1236  | 
 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
 | 
 683  | 
 874  | 
 if $cache_content
  | 
 
| 
756
 | 
 0  | 
 1416  | 
 unless ref $colspecs
  | 
 
| 
757
 | 
 0  | 
 1416  | 
 unless ref $columns
  | 
 
| 
759
 | 
 1416  | 
 0  | 
 unless $opt{'match_data'}
  | 
 
| 
769
 | 
 13439  | 
 10263  | 
 if $best_match
  | 
 
| 
771
 | 
 20450  | 
 3252  | 
 unless my $result = $self->colspec_test(@arg)
  | 
 
| 
772
 | 
 3252  | 
 0  | 
 if $result > 0
  | 
 
| 
777
 | 
 1686  | 
 1566  | 
 unless $opt{'match_data'}{$col}
  | 
 
| 
782
 | 
 874  | 
 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)
  |