|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
97
 | 
 0  | 
 2  | 
 unless $opt  | 
 
| 
99
 | 
 1  | 
 1  | 
 if (ref $opt eq 'HASH') { }  | 
 
| 
 | 
 1  | 
 0  | 
 elsif ($opt =~ /^stub$/i) { }  | 
 
| 
109
 | 
 2  | 
 0  | 
 if ($self->_check_allowed)  | 
 
| 
110
 | 
 0  | 
 2  | 
 if ($$self{'RaiseError'})  | 
 
| 
125
 | 
 0  | 
 1  | 
 unless 2 <= scalar @_  | 
 
| 
129
 | 
 1  | 
 0  | 
 if (exists $_xkeywords{$param}) { }  | 
 
| 
159
 | 
 1  | 
 34  | 
 if /^dbh$/  | 
 
| 
160
 | 
 12  | 
 22  | 
 if (exists $$self{$_} and defined $$self{$_})  | 
 
| 
171
 | 
 0  | 
 1  | 
 unless open PARAMS, "> $param_file_name"  | 
 
| 
174
 | 
 0  | 
 1  | 
 unless close PARAMS  | 
 
| 
182
 | 
 0  | 
 1  | 
 unless $params_file_name  | 
 
| 
184
 | 
 0  | 
 1  | 
 unless open PARAMS, "< $params_file_name"  | 
 
| 
190
 | 
 1  | 
 0  | 
 if ($value) { }  | 
 
| 
192
 | 
 0  | 
 1  | 
 if ($@)  | 
 
| 
195
 | 
 0  | 
 1  | 
 unless $params  | 
 
| 
202
 | 
 0  | 
 1  | 
 unless close PARAMS  | 
 
| 
203
 | 
 0  | 
 1  | 
 if $errstr  | 
 
| 
204
 | 
 0  | 
 1  | 
 unless ref $params eq 'HASH'  | 
 
| 
207
 | 
 0  | 
 12  | 
 unless exists $_xkeywords{$_}  | 
 
| 
217
 | 
 0  | 
 0  | 
 if ($_RaiseError) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($_PrintError) { }  | 
 
| 
231
 | 
 0  | 
 18  | 
 unless defined $_xkeywords{$_}  | 
 
| 
234
 | 
 0  | 
 2  | 
 if ($$self{'col_exclude'})  | 
 
| 
235
 | 
 0  | 
 0  | 
 unless ref $$self{'col_exclude'} eq 'ARRAY'  | 
 
| 
245
 | 
 0  | 
 0  | 
 unless defined $$set{$_}  | 
 
| 
254
 | 
 0  | 
 20  | 
 unless defined $$self{$_}  | 
 
| 
257
 | 
 4  | 
 0  | 
 if (defined $$self{'dbh'}) { }  | 
 
| 
258
 | 
 1  | 
 3  | 
 if (ref $$self{'dbh'} and ref($$self{'dbh'}) =~ /DBI::db/) { }  | 
 
| 
 | 
 3  | 
 0  | 
 elsif (ref $$self{'dbh'} and ref $$self{'dbh'} eq 'HASH') { }  | 
 
| 
268
 | 
 0  | 
 3  | 
 unless $dbh = 'DBI'->connect($$par{'dsn'}, $$par{'user'}, $$par{'password'}, $$par{'params'})  | 
 
| 
272
 | 
 0  | 
 3  | 
 if ($@) { }  | 
 
| 
289
 | 
 0  | 
 6  | 
 unless exists $$row{$_} and defined $$row{$_}  | 
 
| 
295
 | 
 0  | 
 8  | 
 unless exists $_rowkeywords{$_}  | 
 
| 
301
 | 
 0  | 
 16  | 
 unless exists $$col{$_} and defined $$col{$_}  | 
 
| 
307
 | 
 0  | 
 22  | 
 unless exists $_colkeywords{$_}  | 
 
| 
313
 | 
 0  | 
 4  | 
 unless (ref $$self{'op'})  | 
 
| 
317
 | 
 0  | 
 0  | 
 unless defined $$self{'op_col'}  | 
 
| 
320
 | 
 0  | 
 0  | 
 if ($$self{'add_op'})  | 
 
| 
321
 | 
 0  | 
 0  | 
 unless ref $$self{'add_op'} and ref $$self{'add_op'} eq 'ARRAY'  | 
 
| 
333
 | 
 0  | 
 4  | 
 unless ref $$self{'op'} eq 'ARRAY'  | 
 
| 
337
 | 
 0  | 
 4  | 
 unless ref $op and ref $op eq 'ARRAY'  | 
 
| 
341
 | 
 0  | 
 28  | 
 unless grep {$$op[0] =~ /$_/;} @_operations  | 
 
| 
342
 | 
 0  | 
 28  | 
 unless @$op eq 2  | 
 
| 
345
 | 
 0  | 
 4  | 
 if (scalar @{$$self{'op'};} > 1)  | 
 
| 
380
 | 
 0  | 
 4  | 
 if ($$self{'add_real_names'} and $$self{'use_real_names'})  | 
 
| 
392
 | 
 0  | 
 0  | 
 unless (@_)  | 
 
| 
416
 | 
 0  | 
 0  | 
 if $level > $#$array  | 
 
| 
433
 | 
 0  | 
 0  | 
 if ($top->daughters)  | 
 
| 
436
 | 
 0  | 
 0  | 
 unless ($node)  | 
 
| 
457
 | 
 0  | 
 0  | 
 if ($mode eq 'normal') { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($mode eq 'group') { }  | 
 
| 
472
 | 
 0  | 
 0  | 
 unless $node->ancestors  | 
 
| 
491
 | 
 0  | 
 0  | 
 if ($val)  | 
 
| 
501
 | 
 0  | 
 0  | 
 if ($val)  | 
 
| 
513
 | 
 0  | 
 0  | 
 if ($val)  | 
 
| 
532
 | 
 0  | 
 0  | 
 if (exists $$row{$_})  | 
 
| 
540
 | 
 0  | 
 0  | 
 if ($separator =~ /[a-z?*+]/i)  | 
 
| 
544
 | 
 0  | 
 0  | 
 unless (grep {$_ eq $separator;} @separators)  | 
 
| 
554
 | 
 0  | 
 0  | 
 if ($k =~ /\Q$sep\E/)  | 
 
| 
559
 | 
 0  | 
 0  | 
 if ($ok)  | 
 
| 
564
 | 
 0  | 
 0  | 
 unless ($ok)  | 
 
| 
566
 | 
 0  | 
 0  | 
 if ($count++ > 3)  | 
 
| 
588
 | 
 0  | 
 0  | 
 if (grep {exists $$_{'group'};} @{$$self{'cols'};}) { }  | 
 
| 
593
 | 
 0  | 
 0  | 
 exists $$_{'alias'} ? :  | 
 
| 
597
 | 
 0  | 
 0  | 
 if $$_{'from'}  | 
 
| 
605
 | 
 0  | 
 0  | 
 if ($orderby)  | 
 
| 
616
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
622
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
642
 | 
 0  | 
 0  | 
 exists $$_{'alias'} ? :  | 
 
| 
648
 | 
 0  | 
 0  | 
 if ($$_{'col_list'}) { }  | 
 
| 
650
 | 
 0  | 
 0  | 
 unless (ref $list eq 'ARRAY')  | 
 
| 
654
 | 
 0  | 
 0  | 
 unless ref $val eq 'HASH'  | 
 
| 
656
 | 
 0  | 
 0  | 
 unless defined $$val{'id'}  | 
 
| 
658
 | 
 0  | 
 0  | 
 unless (defined $$val{'value'})  | 
 
| 
670
 | 
 0  | 
 0  | 
 if (exists $$_{'value'})  | 
 
| 
674
 | 
 0  | 
 0  | 
 if (exists $$_{'where'})  | 
 
| 
678
 | 
 0  | 
 0  | 
 if (exists $$_{'orderby'})  | 
 
| 
687
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
694
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
698
 | 
 0  | 
 0  | 
 unless (exists $$_{'value'})  | 
 
| 
707
 | 
 0  | 
 0  | 
 if ($$_{'exclude_value'})  | 
 
| 
708
 | 
 0  | 
 0  | 
 unless (ref $$_{'exclude_value'} eq 'ARRAY')  | 
 
| 
722
 | 
 0  | 
 0  | 
 exists $$_{'value'} ? :  | 
 
| 
732
 | 
 0  | 
 0  | 
 unless $self->_check_required  | 
 
| 
735
 | 
 0  | 
 0  | 
 unless my $xvalues = $self->_get_xvalues  | 
 
| 
739
 | 
 0  | 
 0  | 
 unless $$row{'alias'}  | 
 
| 
750
 | 
 0  | 
 0  | 
 if ($$self{'use_group'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($$self{'col_sub_total'}) { }  | 
 
| 
751
 | 
 0  | 
 0  | 
 if ($$self{'col_sub_total'}) { }  | 
 
| 
765
 | 
 0  | 
 0  | 
 unless $$self{'query_separator'} = $self->_check_query_separator_applicability(\@permutations, $separator)  | 
 
| 
789
 | 
 0  | 
 0  | 
 if $$self{'col_exclude'} and grep {$name eq $_;} @{$$self{'col_exclude'};}  | 
 
| 
790
 | 
 0  | 
 0  | 
 if ($$self{'check_group'} and $$self{'keepcols'})  | 
 
| 
791
 | 
 0  | 
 0  | 
 unless grep {$name =~ /^$_/;} @{$$self{'keepcols'};}  | 
 
| 
796
 | 
 0  | 
 0  | 
 if (@{$$self{'op'};} > 1)  | 
 
| 
800
 | 
 0  | 
 0  | 
 if ($$self{'use_real_names'}) { }  | 
 
| 
814
 | 
 0  | 
 0  | 
 if ($$self{'add_real_names'}) { }  | 
 
| 
824
 | 
 0  | 
 0  | 
 if (@{$$self{'op'};} > 1 and $$self{'col_sub_total'})  | 
 
| 
831
 | 
 0  | 
 0  | 
 if (@{$$self{'op'};} > 1)  | 
 
| 
838
 | 
 0  | 
 0  | 
 if ($$self{'where'})  | 
 
| 
841
 | 
 0  | 
 0  | 
 if ($$self{'having'})  | 
 
| 
847
 | 
 0  | 
 0  | 
 if ($$self{'col_total'})  | 
 
| 
852
 | 
 0  | 
 0  | 
 if ($$self{'where'})  | 
 
| 
859
 | 
 0  | 
 0  | 
 if ($$self{'having'})  | 
 
| 
865
 | 
 0  | 
 0  | 
 if ($$self{'row_sub_total'})  | 
 
| 
870
 | 
 0  | 
 0  | 
 if $_ >= $nr  | 
 
| 
877
 | 
 0  | 
 0  | 
 if ($$self{'col_total'})  | 
 
| 
888
 | 
 0  | 
 0  | 
 if ($$self{'where'})  | 
 
| 
892
 | 
 0  | 
 0  | 
 if ($$self{'having'})  | 
 
| 
898
 | 
 0  | 
 0  | 
 if ($$self{'row_total'})  | 
 
| 
904
 | 
 0  | 
 0  | 
 if ($$self{'col_total'})  | 
 
| 
910
 | 
 0  | 
 0  | 
 if ($$self{'where'})  | 
 
| 
928
 | 
 0  | 
 0  | 
 if $_ > $max  | 
 
| 
935
 | 
 2  | 
 0  | 
 if ($$self{'records'} and $$self{'col_names'})  | 
 
| 
936
 | 
 0  | 
 2  | 
 unless ref $$self{'col_names'} eq 'ARRAY'  | 
 
| 
938
 | 
 0  | 
 2  | 
 unless ref $$self{'records'} eq 'ARRAY' and ref $$self{'records'}[0] eq 'ARRAY'  | 
 
| 
947
 | 
 0  | 
 0  | 
 unless $$self{'query'}  | 
 
| 
955
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
962
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
967
 | 
 0  | 
 0  | 
 exists $$self{'realnames'}{$_} ? :  | 
 
| 
978
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
981
 | 
 0  | 
 0  | 
 if ($$self{'remove_if_zero'})  | 
 
| 
982
 | 
 0  | 
 0  | 
 defined $_ ? :  | 
 
| 
986
 | 
 0  | 
 0  | 
 if (defined $c and $c ne '0')  | 
 
| 
995
 | 
 0  | 
 0  | 
 if ($zeroes[$_]) { }  | 
 
| 
1003
 | 
 0  | 
 0  | 
 if (@voids)  | 
 
| 
1013
 | 
 0  | 
 0  | 
 if ($$self{'remove_if_null'})  | 
 
| 
1018
 | 
 0  | 
 0  | 
 if (defined $_)  | 
 
| 
1027
 | 
 0  | 
 0  | 
 if ($nulls[$_]) { }  | 
 
| 
1035
 | 
 0  | 
 0  | 
 if (@voids)  | 
 
| 
1047
 | 
 0  | 
 0  | 
 $$_[$i] ? :  | 
 
| 
1048
 | 
 0  | 
 0  | 
 if (defined $$_[$i] and $$_[$i] =~ /^\d+\.(\d+)/)  | 
 
| 
1050
 | 
 0  | 
 0  | 
 if (length $1 > 2)  | 
 
| 
1054
 | 
 0  | 
 0  | 
 unless defined $lengths[$i]  | 
 
| 
1055
 | 
 0  | 
 0  | 
 unless defined $len  | 
 
| 
1056
 | 
 0  | 
 0  | 
 if $lengths[$i] < $len  |