Condition Coverage

blib/lib/SQL/SimpleOps.pm
Criterion Covered Total %
condition 114 257 44.3


and 3 conditions

line !l l&&!r l&&r condition
320 3 0 0 defined $self->{'argv'}{'message_syslog_facility'} and not $self->{'argv'}{'message_syslog_facility'} =~ /^local[0-7]$/i
325 3 0 0 defined $self->{'argv'}{'message_syslog_service'} and $self->{'argv'}{'message_syslog_service'} =~ s/[a-zA-Z0-9\-\_]//g
330 3 0 0 defined $self->{'argv'}{'sql_save_name'} and $self->{'argv'}{'sql_save_name'} =~ s/[a-zA-Z0-9\-\_]//g
382 0 0 0 $self->{'argv'}{'port'} ne "" and $self->{'argv'}{'port'} =~ /^\D+$/ || ($self->{'argv'}{'port'} < 1 || $self->{'argv'}{'port'} > 65535)
394 3 0 0 $self->{'argv'}{'connect'} and $self->Open
412 0 2 0 $self->{'init'}{'plugin_fh'}->can("Open") and $self->{'init'}{'plugin_fh'}->Open
464 17 0 0 $self->{'init'}{'plugin_fh'}->can("SelectCursor") and $self->{'init'}{'plugin_fh'}->SelectCursor($argv)
499 0 0 0 ref $argv->{'cursor'} eq "" and @{$self->{'work'}{'cursor_key'};} == 1
0 0 0 ref $argv->{'cursor'} eq "ARRAY" and $self->{'work'}{'cursor_key'} == @{$argv->{'cursor'};} + 0
511 6 2 9 $argv->{'cursor_command'} != 1 and $argv->{'cursor_command'} != 4
594 15 2 0 defined $argv->{'where'} and ref $argv->{'where'} ne "ARRAY"
805 187 0 0 $self->{'init'}{'plugin_fh'}->can("Select") and $self->{'init'}{'plugin_fh'}->Select($argv)
909 2 0 0 defined $self->{'argv'}{'tables'}{$table} && defined $self->{'argv'}{'tables'}{$table}{'cols'}
927 0 1 0 $any and @fields_work
936 2 0 2 defined $self->{'argv'}{'tables'}{$temp} and defined $self->{'argv'}{'tables'}{$temp}{'cols'}
1120 170 1 16 defined $argv->{'limit'} and $argv->{'limit'} > 0
1130 0 0 0 defined $self->{'work'}{'cursor_key'} and grep /^$key$/, @{$$self{"work"}{"cursor_key"};}
1204 15 0 0 $self->{'init'}{'plugin_fh'}->can("Delete") and $self->{'init'}{'plugin_fh'}->Delete($argv)
1235 10 5 0 !defined($where) || $where eq '' and not $argv->{'force'}
1285 22 0 0 $self->{'init'}{'plugin_fh'}->can("Insert") and $self->{'init'}{'plugin_fh'}->Insert($argv)
1343 22 0 0 defined $argv->{'conflict'} and ref $argv->{'conflict'} ne "HASH"
1446 40 0 0 $self->{'init'}{'plugin_fh'}->can("Update") and $self->{'init'}{'plugin_fh'}->Update($argv)
1518 24 8 19 not $ident and $_table =~ /^(.*?)\s+.*?$/
1526 15 25 0 !defined($where) || $where eq '' and not $argv->{'force'}
1581 0 0 0 $count and $sleep
1613 0 0 0 $self->{'init'}{'plugin_fh'}->can("Call") and $self->{'init'}{'plugin_fh'}->Call($argv)
1647 263 0 1 defined $argv->{'sql_save'} and $argv->{'sql_save'}
240 23 0 defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'}
23 0 0 defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'} and $argv->{'command_type'}
1687 0 0 0 defined $argv->{'buffer_arrayref'} and not $argv->{'buffer_arrayref'}
1716 0 0 0 $self->{'init'}{'plugin_fh'}->can("PreFetch") and $self->{'init'}{'plugin_fh'}->PreFetch($argv)
1745 0 0 0 defined $self->{'work'}{'cursor_key'} and @{$self->{'work'}{'cursor_key'};}
1824 0 0 0 $ref_saved and defined $self->{'work'}{'cursor_key'}
0 0 0 $ref_saved and defined $self->{'work'}{'cursor_key'} and @{$self->{'work'}{'cursor_key'};}
1846 0 0 0 $self->{'argv'}{'commit'} and $argv->{'command_type'}
2027 158 61 1 @where_tmp and join("", @where_tmp) eq ""
2040 19 0 5 $oper_pend and @where_tmp
2050 0 2 10 $oper_pend and @where_tmp
2056 148 0 36 $oper_pend and @where_tmp
2066 4 57 0 $value1 =~ /^(.*?)\.(.*?)$/ and grep(/^$1$/, @{$$self{'work'}{'tables_inuse'};}) || defined $self->{'init'}{'table_realname'}{$1}
2153 0 0 0 $v =~ /^(.*?)\..*?$/ and grep /^$1$/, @{$$self{"work"}{"tables_valids"};}
2179 3 0 5 @_value2 == 3 && $_value2[1] eq q['..']
2195 1 6 0 $v =~ /^(.*?)\..*?$/ and grep /^$1$/, @{$$self{"work"}{"tables_valids"};}
2248 4 8 15 $v =~ /^(.*?)\..*?$/ and grep /^$1$/, @{$$self{"work"}{"tables_valids"};}
2279 131 9 14 $level and @where_tmp > 1
2444 0 10 94 defined $self->{'argv'}{'tables'} and defined $self->{'argv'}{'tables'}{$_table}
2447 71 74 151 defined $self->{'argv'}{'tables'} and defined $self->{'work'}{'tables_alias'}{$_table}
145 27 124 defined $self->{'argv'}{'tables'} and defined $self->{'work'}{'tables_alias'}{$_table} and defined $self->{'argv'}{'tables'}{$self->{'work'}{'tables_alias'}{$_table}}{'cols'}{$_field}
2458 160 26 100 defined $self->{'work'}{'tables_alias'}{$_table} and defined $self->{'argv'}{'tables'}{$self->{'work'}{'tables_alias'}{$_table}}{'cols'}{$_field}
2467 24 32 16 defined $self->{'work'}{'tables_alias'}{$t} and not defined $self->{'argv'}{'tables'}{$self->{'work'}{'tables_alias'}{$t}}{'cols'}{$_field}
2477 8 350 232 $_table and $result & 32768
2558 0 86 0 ref $argv->{'table'} eq "ARRAY" and $self->{'work'}{'command'} == 8 || $self->{'work'}{'command'} == 2
2584 147 0 158 defined $self->{'argv'}{'tables'}{$table} and defined $self->{'argv'}{'tables'}{$table}{'name'}
2712 0 4 0 defined $self->{'init'}{'dbh'} and $self->{'init'}{'dbh'}->err

or 2 conditions

line l !l condition
1941 1 0 $self->{'argv'}{'db'} || 'public'
2626 0 0 shift() || 0
2638 0 0 shift() || 0
2650 1 1 shift() || 0
2663 0 0 $quote || q[']
2732 0 0 $self->{'argv'}{'message_syslog_service'} || 'SQL-SimpleOps'
0 0 $self->{'argv'}{'message_syslog_facility'} || 'local0'

or 3 conditions

line l !l&&r !l&&!r condition
220 3 0 0 ref $class || $class || $SQL_SIMPLE_CLASS
259 0 0 3 not defined $self->{'argv'}{'driver'} or $self->{'argv'}{'driver'} eq ""
266 0 0 3 not defined $self->{'argv'}{'db'} or $self->{'argv'}{'db'} eq ""
282 0 0 3 not defined $self->{'argv'}{'tables'}{$table}{'name'} or $self->{'argv'}{'tables'}{$table}{'name'} eq ""
382 0 0 0 $self->{'argv'}{'port'} =~ /^\D+$/ || ($self->{'argv'}{'port'} < 1 || $self->{'argv'}{'port'} > 65535)
509 3 0 14 not defined $argv->{'cursor_command'} or $argv->{'cursor_command'} eq ""
514 9 0 0 not defined $argv->{'cursor'} or $argv->{'cursor'} eq ""
613 2 3 3 $argv->{'cursor_command'} == 3 or $argv->{'cursor_command'} == 5
652 3 0 2 $argv->{'cursor_command'} == 5 || $self->{'work'}{'cursor_command_reload'}
695 0 0 0 $argv->{'cursor_order'} eq "ASC" or $argv->{'cursor_order'} eq "DESC"
707 0 0 17 not defined $argv->{'limit'} or $argv->{'limit'} eq ""
733 0 0 0 $argv->{'cursor_command'} == 2 or $argv->{'cursor_command'} == 4
749 0 0 0 $argv->{'cursor_command'} == 2 or $argv->{'cursor_command'} == 4
764 0 0 0 $argv->{'cursor_command'} == 2 or $argv->{'cursor_command'} == 4
858 57 132 3 @{$fields_argv;} != 1 or $fields_argv->[0] ne "*"
896 72 183 0 $alias || $field
1235 5 0 10 !defined($where) || $where eq ''
1408 0 0 0 $self->{'init'}{'plugin_id'} =~ /^mysql/i || $self->{'init'}{'plugin_id'} =~ /^mariadb/i
1526 25 0 15 !defined($where) || $where eq ''
1647 1 0 263 defined $argv->{'sql_save'} and $argv->{'sql_save'} or defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'} and $argv->{'command_type'}
1661 0 0 0 !defined($argv->{'flush'}) || $argv->{'flush'}
2066 46 0 11 grep(/^$1$/, @{$$self{'work'}{'tables_inuse'};}) || defined $self->{'init'}{'table_realname'}{$1}
2140 12 16 23 $operator eq "=" or $operator eq "!="
2499 2 8 235 $op1 =~ /^(.*?)\((.*)\)(.*)\)$/ or $op1 =~ /^(.*?)\((.*)\)$/
2558 75 11 0 $self->{'work'}{'command'} == 8 || $self->{'work'}{'command'} == 2
2663 0 0 0 $quote eq "" or $quote eq "\""
0 0 0 $quote eq "" or $quote eq "\"" or $quote eq "'"