Condition Coverage

lib/DB/Object/Statement.pm
Criterion Covered Total %
condition 0 167 0.0


and 2 conditions

line l !l condition
632 0 0 $ref and scalar keys %$ref

and 3 conditions

line !l l&&!r l&&r condition
88 0 0 0 $self->{'sth'} and $self->param("autocommit")
221 0 0 0 $q and $q->binded_types->length
232 0 0 0 $q and $self->{'bind'}
235 0 0 0 @_ and @_ == 1 && $self->_is_hash($_[0]) || !(@_ % 2) && ref $_[0] ne 'HASH'
280 0 0 0 not @binded and @_
282 0 0 0 $q and $q->is_upsert
296 0 0 0 ref $_[$i] eq "HASH" and scalar keys %{$_[$i];} == 1
0 0 0 ref $_[$i] eq "HASH" and scalar keys %{$_[$i];} == 1 and "DBI"->can("SQL_" . uc([values %{$_[$i];}]->[0]))
338 0 0 0 $q and scalar @binded != scalar @binded_types
349 0 0 0 $self->_is_array($binded[$i]) and ref $binded[$i] ne "ARRAY"
0 0 0 $self->_is_object($binded[$i]) and overload::Overloaded($binded[$i])
0 0 0 $self->_is_object($binded[$i]) and overload::Overloaded($binded[$i]) and overload::Method($binded[$i], "\"\"")
0 0 0 $self->_is_hash($binded[$i]) and $self->_can($binded[$i], "as_json")
382 0 0 0 ref $binded[$i] and $self->_is_object($binded[$i])
0 0 0 ref $binded[$i] and $self->_is_object($binded[$i]) and overload::Overloaded($binded[$i])
0 0 0 ref $binded[$i] and $self->_is_object($binded[$i]) and overload::Overloaded($binded[$i]) and overload::Method($binded[$i], "\"\"")
391 0 0 0 length $data_type and $self->_is_hash($data_type)
410 0 0 0 $tbl and ref $tbl
418 0 0 0 not $error and %$tie
426 0 0 0 exists $tie->{$val} and ref $tie->{$val} eq "SCALAR"
474 0 0 0 exists $self->{'executed'} && $self->{'executed'}
680 0 0 0 $type eq "ALTER" and not $query =~ /^\s*$type\s+TABLE\s+/i
703 0 0 0 scalar @_ == 1 && ref $_[0]
715 0 0 0 scalar keys %$constant and $q->final
732 0 0 0 ref $data and $self->_is_a($data, $class)
740 0 0 0 $self->_is_object($data) and $data->isa("DB::Object::Tables")
791 0 0 0 $q->limit && $q->_limit->length
0 0 0 not $q->limit && $q->_limit->length and $q2->_limit->length
834 0 0 0 $self->_is_object($vals->[0]) and $vals->[0]->isa("DB::Object::Operator")
847 0 0 0 $self->_is_object($vals->[0]) and $vals->[0]->isa("DB::Object::Fields::Field::Overloaded")
858 0 0 0 $self->_is_object($f2) and $f2->isa("DB::Object::NOT")
865 0 0 0 $self->_is_object($f1) and $f1->isa("DB::Object::Fields::Field")
875 0 0 0 $self->_is_object($f2) and $f2->isa("DB::Object::Fields::Field")
897 0 0 0 $self->_is_object($on) and $on->isa("DB::Object::Operator")
0 0 0 $self->_is_object($on) and $on->isa("DB::Object::Fields::Field::Overloaded")
1034 0 0 0 $prio != 1 and $type =~ /^(?:SELECT)$/i
1035 0 0 0 $prio != 0 and $type =~ /^(?:DELETE|INSERT|REPLACE|UPDATE)$/i
1069 0 0 0 $self->{'sth'} and $self->param("autocommit")

or 2 conditions

line l !l condition
80 0 0 $self->{'sth'}->errstr || 'Unknown error while binding parameters to query.'
90 0 0 $self->prepare('COMMIT') || (return $self->pass_error)
103 0 0 $self->{'query'} || (return $self->error('No query to set as to be ignored.'))
120 0 0 $self->_cache_this($query) || (return $self->error("Error while preparing new ignored query:\n$query"))
148 0 0 $file->open('>', {'binmode', 'utf8'}) || (return $self->error("Unable to open file '${file}' in write mode: ", $file->error))
416 0 0 $self->{'tie'} || {}
480 0 0 shift @_ || []
668 0 0 $self->{'query'} || (return $self->error('No query to set as to be ignored.'))
686 0 0 $self->_cache_this($query) || (return $self->error("Error while preparing new ignored query:\n$query"))
705 0 0 $self->query_object || (return $self->error('No query formatter object was set'))
706 0 0 $q->table_object || (return $self->error('No table object is set in query object.'))
707 0 0 $q->query || (return $self->error('No query prepared for join with another table.'))
755 0 0 $join_tbl->select || (return $self->pass_error($join_tbl->error))
756 0 0 $sth_tmp->query_object || (return $self->error(qq[Could not get a query object out of the dummy select query I made from table "$data".]))
978 0 0 $tbl_o->_cache_this($q2) || (return $self->error("Error while preparing query to select:\n", $q2->as_string, $tbl_o->error))
1021 0 0 $self->{'query'} || (return $self->error('No query to set priority for was provided.'))
1040 0 0 $self->_cache_this($query) || (return $self->error("Error while preparing new low priority query:\n$query"))
1071 0 0 $self->prepare('ROLLBACK') || (return $self->error('An error occurred while preparing query to rollback: ', $self->error))

or 3 conditions

line l !l&&r !l&&!r condition
235 0 0 0 @_ == 1 && $self->_is_hash($_[0]) || !(@_ % 2) && ref $_[0] ne 'HASH'
280 0 0 0 not @binded and @_ or @_
403 0 0 0 $error ||= $self->{'sth'}->errstr
526 0 0 0 $dbo->auto_decode_json or $dbo->auto_convert_datetime_to_object
611 0 0 0 $dbo->auto_decode_json or $dbo->auto_convert_datetime_to_object