Branch Coverage

lib/DB/Object/Statement.pm
Criterion Covered Total %
branch 0 304 0.0


line true false branch
42 0 0 if (my $qo = $self->query_object)
66 0 0 if ($@) { }
0 0 elsif ($rc) { }
88 0 0 if ($self->{'sth'} and $self->param("autocommit"))
91 0 0 unless $sth->execute
109 0 0 unless (scalar grep({/^$type$/i;} @allowed))
114 0 0 if $query =~ /^\s*(?:$allowed)\s+(?:DISTINCT|DISTINCTROW|ALL)\s+/i
122 0 0 unless (defined wantarray)
124 0 0 unless $sth->execute
134 0 0 if ($file) { }
0 0 elsif (exists $self->{'sth'}) { }
143 0 0 unless $self->_load_class("DateTime")
171 0 0 if length $field > $max
202 0 0 if ($pack =~ /^DB::Object/)
208 0 0 unless $pack =~ /^DB::Object/
218 0 0 if $q
221 0 0 if ($q and $q->binded_types->length)
232 0 0 if ($q and $self->{'bind'})
235 0 0 if (@_ and @_ == 1 && $self->_is_hash($_[0]) || !(@_ % 2) && ref $_[0] ne 'HASH') { }
0 0 elsif (@_) { }
245 0 0 if ($self->_is_hash($_[0])) { }
258 0 0 if (not exists $vals->{$f}) { }
276 0 0 if scalar @$binded_values
280 0 0 if not @binded and @_ or @_
281 0 0 unless @binded
282 0 0 if ($q and $q->is_upsert)
284 0 0 if (scalar @binded_types > scalar @binded)
290 0 0 if (scalar @_)
296 0 0 if (ref $_[$i] eq "HASH" and scalar keys %{$_[$i];} == 1 and "DBI"->can("SQL_" . uc([values %{$_[$i];}]->[0])))
307 0 0 if (scalar keys %$temp == scalar @_) { }
0 0 elsif (scalar keys %$temp) { }
338 0 0 if ($q and scalar @binded != scalar @binded_types)
348 0 0 unless defined $binded[$i]
349 0 0 if ($self->_is_array($binded[$i]) and ref $binded[$i] ne 'ARRAY') { }
0 0 elsif ($self->_is_object($binded[$i]) and overload::Overloaded($binded[$i]) and overload::Method($binded[$i], '""')) { }
0 0 elsif ($self->_is_hash($binded[$i]) and $self->_can($binded[$i], 'as_json')) { }
360 0 0 defined $v ? :
382 0 0 if (ref $binded[$i] and $self->_is_object($binded[$i]) and overload::Overloaded($binded[$i]) and overload::Method($binded[$i], "\"\""))
391 0 0 if (length $data_type and $self->_is_hash($data_type)) { }
403 0 0 unless $rv
404 0 0 if ($q)
406 0 0 if ($q->join_tables->length > 0)
410 0 0 unless $tbl and ref $tbl
418 0 0 if (not $error and %$tie)
426 0 0 if (exists $tie->{$val} and ref $tie->{$val} eq "SCALAR")
432 0 0 if ($error) { }
0 0 elsif ($self->{'sth'}->errstr) { }
0 0 elsif (want('OBJECT')) { }
0 0 elsif ($rv) { }
438 0 0 if ($self->fatal) { }
473 0 0 unless exists $self->{'query'}
483 0 0 unless ($self->executed)
485 0 0 unless $self->execute
491 0 0 if ($mode eq 'ARRAY') { }
0 0 elsif ($mode eq 'HASH') { }
493 0 0 if (@$slice) { }
505 0 0 if (@o_keys) { }
526 0 0 unless $dbo->auto_decode_json or $dbo->auto_convert_datetime_to_object
528 0 0 if $dbo->auto_decode_json
529 0 0 if $dbo->auto_convert_datetime_to_object
538 0 0 unless ($self->executed)
540 0 0 unless $self->execute
557 0 0 unless ($self->executed)
559 0 0 unless $self->execute
565 0 0 if ($ref) { }
578 0 0 unless ($self->executed)
580 0 0 unless $self->execute
589 0 0 if ($ref) { }
591 0 0 wantarray ? :
607 0 0 unless ($self->executed)
609 0 0 unless $self->execute
611 0 0 unless $dbo->auto_decode_json or $dbo->auto_convert_datetime_to_object
615 0 0 if $dbo->auto_decode_json
616 0 0 if $dbo->auto_convert_datetime_to_object
625 0 0 unless ($self->executed)
627 0 0 unless $self->execute
632 0 0 if ($ref and scalar keys %$ref) { }
637 0 0 unless (defined &{$class . "::new";})
654 0 0 if (not $rc) { }
674 0 0 unless (scalar grep({/^$type$/i;} @allowed))
679 0 0 if $query =~ /^\s*(?:$allowed)\s+(?:DELAYED|LOW_PRIORITY|HIGH_PRIORITY)\s+/i
680 0 0 if $type eq "ALTER" and not $query =~ /^\s*$type\s+TABLE\s+/i
688 0 0 unless (defined wantarray)
690 0 0 unless $sth->execute
701 0 0 if (@_)
703 0 0 scalar @_ == 1 && ref $_[0] ? :
709 0 0 unless ($query =~ /^[[:blank:]]*SELECT[[:blank:]]+/i)
715 0 0 if (scalar keys %$constant and $q->final)
729 0 0 unless $q2->join_tables->length
732 0 0 if (ref $data and $self->_is_a($data, $class)) { }
740 0 0 if ($self->_is_object($data) and $data->isa('DB::Object::Tables')) { }
0 0 elsif ($self->_is_object($data)) { }
750 0 0 unless $self->database_object->table_exists($data)
752 0 0 unless $join_tbl
754 0 0 $db ne $join_tbl->database_object->database ? :
777 0 0 if (length $q->where) { }
0 0 elsif (length $q1->where) { }
779 0 0 if length $q1->where
785 0 0 if $q1->group->value->length
786 0 0 if $q1->order->value->length
791 0 0 if (not $q->limit && $q->_limit->length and $q2->_limit->length)
796 0 0 length $q->join_fields ? :
804 0 0 $db ne $new_db ? :
811 0 0 $new_fields ? :
816 0 0 $q2->table_object->prefixed ? :
0 0 $q2->table_alias ? :
0 0 unless $q2->from_table->length
834 0 0 if ($self->_is_object($vals->[0]) and $vals->[0]->isa('DB::Object::Operator')) { }
840 0 0 if length $this_ref->{'clause'}
847 0 0 if ($self->_is_object($vals->[0]) and $vals->[0]->isa("DB::Object::Fields::Field::Overloaded"))
850 0 0 $multi_db ? :
852 0 0 unless $$fields_tables{$f1->field->table}
858 0 0 if ($self->_is_object($f2) and $f2->isa("DB::Object::NOT"))
865 0 0 if ($self->_is_object($f1) and $f1->isa('DB::Object::Fields::Field')) { }
867 0 0 $multi_db ? :
869 0 0 unless $$fields_tables{$f1->table}
873 0 0 $multi_db ? :
875 0 0 if ($self->_is_object($f2) and $f2->isa('DB::Object::Fields::Field')) { }
877 0 0 $multi_db ? :
879 0 0 unless $$fields_tables{$f2->table}
883 0 0 $multi_db ? :
885 0 0 $i_am_negative ? :
895 0 0 if (defined $on) { }
897 0 0 if ($self->_is_object($on) and $on->isa('DB::Object::Operator')) { }
0 0 elsif ($self->_is_object($on) and $on->isa('DB::Object::Fields::Field::Overloaded')) { }
0 0 elsif ($self->_is_array($on)) { }
0 0 elsif ($self->_is_hash($on)) { }
902 0 0 $q1->table_alias ? :
907 0 0 $q1->table_alias ? :
913 0 0 $q1->table_alias ? :
923 0 0 if ($multi_db) { }
940 0 0 if (length($join_table_alias = $qo->table_alias))
957 0 0 $q1->table_object->prefixed ? :
0 0 $q1->table_alias ? :
974 0 0 if @$clause
986 0 0 unless (defined wantarray)
988 0 0 unless $sth->execute
1002 0 0 if $self->{'sth'}
1004 0 0 if want("OBJECT")
1018 0 0 unless exists $map->{$prio}
1026 0 0 unless (scalar grep({/^$type$/i;} @allowed))
1032 0 0 if $query =~ /^\s*(?:$allowed)\s+(?:DELAYED|LOW_PRIORITY|HIGH_PRIORITY)\s+/i
1034 0 0 if $prio != 1 and $type =~ /^(?:SELECT)$/i
1035 0 0 if $prio != 0 and $type =~ /^(?:DELETE|INSERT|REPLACE|UPDATE)$/i
1042 0 0 unless (defined wantarray)
1044 0 0 unless $sth->execute
1053 0 0 unless $self->_load_class("Promise::Me")
1069 0 0 if ($self->{'sth'} and $self->param("autocommit"))
1072 0 0 unless $sth->execute
1081 0 0 unless ($self->executed)
1083 0 0 unless $self->execute
1087 0 0 if (not ref $self) { }