Condition Coverage

blib/lib/SQL/SimpleOps.pm
Criterion Covered Total %
condition 69 191 36.1


and 3 conditions

line !l l&&!r l&&r condition
279 2 0 0 defined $self->{'argv'}{'message_syslog_facility'} and not $self->{'argv'}{'message_syslog_facility'} =~ /^local[0-7]$/i
284 2 0 0 defined $self->{'argv'}{'message_syslog_service'} and $self->{'argv'}{'message_syslog_service'} =~ s/[a-zA-Z0-9\-\_]//g
289 2 0 0 defined $self->{'argv'}{'sql_save_name'} and $self->{'argv'}{'sql_save_name'} =~ s/[a-zA-Z0-9\-\_]//g
341 0 0 0 $self->{'argv'}{'port'} ne "" and $self->{'argv'}{'port'} =~ /^\D+$/ || ($self->{'argv'}{'port'} < 1 || $self->{'argv'}{'port'} > 65535)
353 2 0 0 $self->{'argv'}{'connect'} and $self->Open
370 0 1 0 $self->{'init'}{'plugin_fh'}->can("Open") and $self->{'init'}{'plugin_fh'}->Open
405 8 0 0 $self->{'init'}{'plugin_fh'}->can("SelectCursor") and $self->{'init'}{'plugin_fh'}->SelectCursor($argv)
430 2 1 5 $argv->{'cursor_command'} != 1 and $argv->{'cursor_command'} != 4
458 8 0 0 defined $argv->{'where'} and ref $argv->{'where'} ne "ARRAY"
568 25 0 0 $self->{'init'}{'plugin_fh'}->can("Select") and $self->{'init'}{'plugin_fh'}->Select($argv)
676 0 0 0 defined $self->{'argv'}{'tables'}{$table} and defined $self->{'argv'}{'tables'}{$table}{'cols'}
689 7 0 0 defined $self->{'argv'}{'tables'}{$tables_work[0]} and defined $self->{'argv'}{'tables'}{$tables_work[0]}{'cols'}
831 25 1 7 defined $argv->{'limit'} and $argv->{'limit'} > 0
897 2 0 0 $self->{'init'}{'plugin_fh'}->can("Delete") and $self->{'init'}{'plugin_fh'}->Delete($argv)
924 2 0 0 not defined $argv->{'table'} and ref $argv->{'table'} ne ""
932 1 1 0 !defined($where) || $where eq '' and not $argv->{'force'}
981 2 0 0 $self->{'init'}{'plugin_fh'}->can("Insert") and $self->{'init'}{'plugin_fh'}->Insert($argv)
1008 2 0 0 not defined $argv->{'table'} and ref $argv->{'table'} ne ""
1037 2 0 0 defined $argv->{'conflict'} and ref $argv->{'conflict'} ne "HASH"
1140 2 0 0 $self->{'init'}{'plugin_fh'}->can("Update") and $self->{'init'}{'plugin_fh'}->Update($argv)
1167 2 0 0 not defined $argv->{'table'} and ref $argv->{'table'} ne ""
1194 1 1 0 !defined($where) || $where eq '' and not $argv->{'force'}
1248 0 0 0 $count and $sleep
1281 0 0 0 $self->{'init'}{'plugin_fh'}->can("Call") and $self->{'init'}{'plugin_fh'}->Call($argv)
1315 38 0 1 defined $argv->{'sql_save'} and $argv->{'sql_save'}
31 7 0 defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'}
7 0 0 defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'} and $argv->{'command_type'}
1348 0 0 0 defined $argv->{'buffer_arrayref'} and not $argv->{'buffer_arrayref'}
1377 0 0 0 $self->{'init'}{'plugin_fh'}->can("PreFetch") and $self->{'init'}{'plugin_fh'}->PreFetch($argv)
1451 0 0 0 $self->{'argv'}{'commit'} and $argv->{'command_type'}
1647 4 0 2 $oper_pend and @where_tmp
1661 55 0 17 $oper_pend and @where_tmp
1667 0 0 18 $value1 =~ /^(.*?)\.(.*?)$/ and grep /^$1$/, @{$tables;}
1726 2 0 3 @_value2 == 3 && $_value2[1] eq '..'
1736 2 0 33 defined $value and $value ne ""
1738 2 0 6 $value =~ /^(.*?)\.(.*?)$/ and grep /^$1$/, @{$tables;}
1783 0 0 9 $value2 =~ /^(.*?)\.(.*?)$/ and grep /^$1$/, @{$tables;}
1890 42 0 0 $self->{'init'}{'schema'} && defined $self->{'argv'}{'schema'} && $self->{'argv'}{'schema'} ne ''
1918 0 0 0 defined $self->{'argv'}{'tables'} && defined $self->{'argv'}{'tables'}{$table} && defined $self->{'argv'}{'tables'}{$table}{'cols'} && defined $self->{'argv'}{'tables'}{$table}{'cols'}{$field}
1993 0 1 0 defined $self->{'init'}{'dbh'} and $self->{'init'}{'dbh'}->err

or 2 conditions

line l !l condition
1546 1 0 $self->{'argv'}{'db'} || 'public'
1938 0 0 shift() || 0
1950 0 0 shift() || 0
1962 1 1 shift() || 0
1975 0 0 $quote || q[']
2013 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
192 2 0 0 ref $class || $class || $SQL_SIMPLE_CLASS
231 0 0 2 not defined $self->{'argv'}{'driver'} or $self->{'argv'}{'driver'} eq ""
238 0 0 2 not defined $self->{'argv'}{'db'} or $self->{'argv'}{'db'} eq ""
254 0 0 0 not defined $self->{'argv'}{'tables'}{$table}{'name'} or $self->{'argv'}{'tables'}{$table}{'name'} eq ""
341 0 0 0 $self->{'argv'}{'port'} =~ /^\D+$/ || ($self->{'argv'}{'port'} < 1 || $self->{'argv'}{'port'} > 65535)
432 5 0 0 not defined $argv->{'cursor'} or $argv->{'cursor'} eq ""
453 0 0 8 not defined $argv->{'cursor_key'} or ref $argv->{'cursor_key'} ne ""
476 1 1 2 $argv->{'cursor_command'} == 3 or $argv->{'cursor_command'} == 5
501 0 0 8 not defined $argv->{'limit'} or $argv->{'limit'} eq ""
666 7 48 0 $alias || $field
932 1 0 1 !defined($where) || $where eq ''
1103 0 0 0 $self->{'init'}{'plugin_id'} =~ /^mysql/i || $self->{'init'}{'plugin_id'} =~ /^mariadb/i
1194 1 0 1 !defined($where) || $where eq ''
1315 1 0 38 defined $argv->{'sql_save'} and $argv->{'sql_save'} or defined $self->{'argv'}{'sql_save'} and $self->{'argv'}{'sql_save'} and $argv->{'command_type'}
1328 0 0 0 !defined($argv->{'flush'}) || $argv->{'flush'}
1721 7 12 15 $operator eq "=" or $operator eq "!="
1899 42 0 0 !(defined $self->{'argv'}{'tables'} && defined $self->{'argv'}{'tables'}{$table} && defined $self->{'argv'}{'tables'}{$table}{'name'}) || $self->{'argv'}{'tables'}{$table}{'name'} eq $table
1975 0 0 0 $quote eq "" or $quote eq "\""
0 0 0 $quote eq "" or $quote eq "\"" or $quote eq "'"