Branch Coverage

lib/DBIx/Struct.pm
Criterion Covered Total %
branch 294 1108 26.5


line true false branch
56 0 0 @_ ? :
57 0 0 if $off < 0
58 0 0 @_ ? :
116 0 0 unless (ref $$value_ref)
117 0 0 if $$value_ref
118 0 0 if $jv
120 0 0 if (not defined $$value_ref) { }
0 0 elsif ('HASH' eq ref $$value_ref) { }
0 0 elsif ('ARRAY' eq ref $$value_ref) { }
135 0 0 defined $_[0][1] ? :
157 0 0 if $dbh
158 0 0 if $try != $db_reconnect_timeout
160 0 0 if $@
295 0 0 if 'HASH' ne ref $hashref
315 0 0 if (\&DBIx::Struct::connector != \&DBIx::Struct::connector_from_pool)
338 0 0 if 'CODE' ne ref $_[0]
350 3 0 unless $er
361 3 1 if ($args[$i] eq 'connector_module') { }
0 1 elsif ($args[$i] eq 'connector_constructor') { }
0 1 elsif ($args[$i] eq 'camel_case_map' and 'CODE' eq ref $args[$i]) { }
1 0 elsif ($args[$i] eq 'user_schema_namespace') { }
0 0 elsif ($args[$i] eq 'table_classes_namespace') { }
0 0 elsif ($args[$i] eq 'query_classes_namespace') { }
0 0 elsif ($args[$i] eq 'connect_timeout') { }
0 0 elsif ($args[$i] eq 'error_class') { }
0 0 elsif ($args[$i] eq 'connector_pool') { }
0 0 elsif ($args[$i] eq 'connector_pool_method') { }
0 0 elsif ($args[$i] eq 'connector_args') { }
0 0 elsif ($args[$i] eq 'connector') { }
0 0 elsif ($args[$i] eq 'connector_object') { }
364 0 3 if (not $defconn and check_package_scalar($connector_module, 'conn'))
410 0 3 if ($_emc)
415 0 3 if ($_cp)
424 0 3 if $_c
430 2 0 unless ($connector_pool or $conn)
432 0 2 if ($dsn and not $dsn =~ /^dbi:/iu)
441 0 2 if ($dsn)
443 0 0 if ($driver)
444 0 0 if ($driver eq 'Pg') { }
0 0 elsif ($driver eq 'mysql') { }
0 0 elsif ($driver eq 'SQLite') { }
453 2 0 unless (@$connector_args)
456 0 2 unless $conn = $connector_module->$connector_constructor(@$connector_args)
482 30 5 if ($simple_table) { }
498 0 2 unless $sth
504 6 0 if $_->[3] eq 'TABLE'
510 3 3 if ($user_schema_namespace)
515 0 3 if (keys %{"${user_schema_namespace}::${uncn}::";} and not do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} && "${user_schema_namespace}::$uncn"->isa($ncn))
556 0 20 unless $find =~ s/^find(?.*?)By(?![[:lower:]])//u or $find =~ s/^find(?.*)//u
565 16 4 unless $find =~ s/OrderBy(?.*?)(?Asc|Desc)(?=[[:upper:]]|$)//u
570 2 18 if ($type eq 'First' and not $limit)
573 3 17 if ($limit and $limit == 1)
581 4 471 if ($param =~ s/$uneq[$i]//u)
588 4 22 if ($found) { }
589 1 3 if ('CODE' eq ref $uneq[$found]) { }
606 9 7 /And(?![[:lower:]])/u ? :
611 5 15 $type eq 'One' ? :
612 7 13 $column ? :
613 6 0 $flags ? :
6 14 $distinct ? :
614 4 1 $asc eq 'Asc' ? :
5 15 $order ? :
620 16 4 $conds ? :
621 6 14 $limit && $limit > 1 && $type ne 'One' ? :
623 7 13 if $column
642 6 4 unless (ref $table)
696 0 6 if ($required)
828 6 4 if (not ref $table) { }
941 6 4 if (not ref $table) { }
995 6 4 unless (ref $table)
1028 6 4 if (not ref $table) { }
1072 39 10 if (grep {not /::$/u;} keys %{"${ncn}::";})
1081 0 0 unless ref $interface
1082 0 0 if ('ARRAY' eq ref $interface) { }
0 0 elsif ('HASH' eq ref $interface) { }
1085 0 0 unless &_exists_row($dbc_name)
1092 0 0 if ($href and %$href)
1100 0 0 unless &_exists_row($dbc_name)
1107 0 0 unless $href and %$href
1109 0 0 unless ref $fl
1110 0 0 if ('ARRAY' eq ref $fl) { }
1113 0 0 if exists $href->{$m}
1139 0 4 $field_types->{$_} eq 'json' ? :
0 4 $field_types->{$_} eq 'boolean' ? :
16 4 $field_types->{$_} eq 'number' ? :
1190 0 20 unless defined $type_name
1191 16 4 if ($type_name =~ /int(\d+)?$/iu or $type_name =~ /integer/iu or $type_name =~ /bit$/u or $type_name =~ /float|double|real|decimal|numeric/iu) { }
0 4 elsif ($type_name =~ /json/iu) { }
0 4 elsif ($type_name =~ /bool/iu) { }
0 4 elsif ($type_name =~ /date/iu and $type_name =~ /time/iu) { }
0 4 elsif ($type_name =~ /date/iu) { }
0 4 elsif ($type_name =~ /time/iu) { }
1214 5 18 if ($user_schema_namespace)
1218 2 3 if (do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} and "${user_schema_namespace}::$uncn"->isa($ncn))
1234 0 49 unless exists $driver_pk_insert{$connector_driver}
1236 39 10 if &_exists_row($ncn)
1248 6 4 if (not ref $table) { }
1253 0 6 unless $ssth
1258 0 6 unless $ssth->execute
1265 0 6 unless $cih
1275 0 12 if ($chr->{'TYPE_NAME'} =~ /^time/iu)
1278 0 12 if ($chr->{'TYPE_NAME'} =~ /^json/iu)
1282 0 12 if ($chr->{'NULLABLE'} == 0 and not defined $chr->{'COLUMN_DEF'})
1289 0 6 if (not @pkeys and @required)
1294 0 0 if (not exists $req{$ukr->{'COLUMN_NAME'}} or defined $ukr->{'FILTER_CONDITION'}) { }
1302 0 0 if (%pkeys)
1309 6 0 if ($sth)
1311 4 0 if $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1314 0 4 if $_->{'FKCOLUMN_NAME'}
1315 0 4 if $_->{'FKTABLE_NAME'}
1320 4 0 if $_->{'PKTABLE_NAME'}
1321 4 0 if $_->{'PKCOLUMN_NAME'}
1326 6 0 if ($sth)
1328 4 0 if $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1331 0 4 if $_->{'FKCOLUMN_NAME'}
1332 0 4 if $_->{'FKTABLE_NAME'}
1359 0 8 if $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^time/u
1361 0 8 if $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^json/u
1370 0 10 if (@required)
1374 0 10 if (@timestamp_fields) { }
1394 4 6 if (@pkeys) { }
1406 2 4 if (@fields) { }
1431 0 4 unless $fn_suffix =~ s/^${pk}_*//iu or $fn_suffix =~ s/_$pk(?=[^a-z]|$)//iu
1463 4 0 if ($pk ne $fk)
1465 0 4 unless $fn =~ s/^${pk}_*//iu or $fn =~ s/_$pk(?=[^a-z]|$)//iu
1467 0 4 if $fn
1510 0 20 if exists $keywords{$k}
1511 0 20 if $k =~ /^\d/u
1513 20 0 if (not exists $json_fields{$k}) { }
1514 8 12 if (not exists $pk_fields{$k} || ref $table) { }
1538 0 0 if (not exists $pk_fields{$k} || ref $table) { }
1597 6 4 if (not ref $table) { }
1598 6 0 if (%fkfuncs) { }
1627 6 4 if (not ref $table) { }
1642 0 0 if (&Scalar::Util::blessed($self))
0 0 unless $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 if $@
0 0 if (&Scalar::Util::blessed($self))
0 0 unless $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 if $@
0 0 if (&Scalar::Util::blessed($self))
0 0 unless $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 if $@
8 0 if $DBIx::Struct::update_on_destroy
5 0 if $DBIx::Struct::update_on_destroy
4 0 if $DBIx::Struct::update_on_destroy
0 0 if (defined $_[0]->id_list) { }
3 0 if (defined $_[0]->id_prim) { }
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless exists $fields{$_}
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 if (@columns) { }
0 0 if (@refs)
0 0 unless $_->do($insert, undef, @bind)
0 0 unless $_->do('delete from list where id = ?', undef, $self->[0][0])
0 0 unless $_->do($update_query, undef, @bind)
0 1 unless $_->do("delete from list $where", @rpar)
0 0 unless $_->do("update prim set $set $where", undef, @bind, @bind_where)
0 3 unless ($self->[0][0]) = $_->selectrow_array($insert . ' returning id', undef, @bind)
0 3 unless $_->do($update_query, undef, @bind, $self->[0][0])
0 0 unless $_->do("update pl_assoc set $set $where", undef, @bind, @bind_where)
0 0 unless $_->do('delete from prim where id = ?', undef, $self->[0][0])
0 0 unless $_->do("delete from pl_assoc $where", @rpar)
0 0 unless my $rowref = $_->selectrow_arrayref('select * from list where id = ?', undef, $self->[0][0])
0 0 unless my $rowref = $_->selectrow_arrayref('select * from prim where id = ?', undef, $self->[0][0])
0 0 unless $_->do($update_query, undef, @bind, $self->[0][0])
0 0 unless $_->do("delete from prim $where", @rpar)
0 0 unless my $rowref = $_->selectrow_arrayref('select * from pl_assoc where ', undef)
0 1 unless $_->do("update list set $set $where", undef, @bind, @bind_where)
0 0 unless my $rowref = $_->selectrow_arrayref("select * from pl_assoc $where", undef, @bind)
0 0 unless ($self->[0][0]) = $_->selectrow_array($insert . ' returning id', undef, @bind)
0 0 unless my $rowref = $_->selectrow_arrayref("select * from list $where", undef, @bind)
0 0 unless my $rowref = $_->selectrow_arrayref("select * from prim $where", undef, @bind)
0 0 unless $_->do('delete from pl_assoc where ', undef)
0 0 if (@_ > 1)
0 0 if (@_ > 1)
0 0 if (@_ > 1)
0 0 if (@_ > 1)
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][0]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 !defined($self->[0][1]) ? :
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (not @{$_[1];}) { }
0 0 if exists $fields{$k}
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1]) { }
0 0 if @unknown_columns
0 0 unless defined $ret
0 0 if (&Scalar::Util::blessed($self))
0 0 if @_ > 1
0 0 unless defined $keys[$i - 1]
0 0 unless (ref $cond)
0 0 if ($cond)
0 1 if (&Scalar::Util::blessed($self))
1 0 if @_ > 1
0 0 unless defined $keys[$i - 1]
0 1 unless (CORE::ref $cond)
1 0 if ($cond)
0 0 if (&Scalar::Util::blessed($self))
0 0 if @_ > 1
0 0 unless defined $keys[$i - 1]
0 0 unless (ref $cond)
0 0 if ($cond)
0 0 unless (ref $cond)
0 0 if (@_ > 1) { }
0 0 unless (ref $cond)
0 0 if (@_ > 1) { }
0 0 unless (CORE::ref $cond)
0 0 if (@_ > 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if ($self->[0][$fields{$f}])
0 0 if ($self->[0][$fields{$f}])
0 0 if (@_ == 1) { }
0 0 if (@_ > 1)
0 6 if (@_ > 1)
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if exists $fields{$_[1]}
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (defined ${$insert{$_};}->[0]) { }
0 0 if (ref $insert{$_} eq 'ARRAY' and ref $insert{$_}[0] eq 'SCALAR') { }
0 0 elsif (ref $insert{$_} eq 'REF' and ref ${$insert{$_};} eq 'ARRAY') { }
0 0 elsif (ref $insert{$_} eq 'SCALAR') { }
0 0 elsif (exists $json_fields{$_} and ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH') { }
0 0 if (%insert) { }
5 0 if (defined $_[1] and ref $_[1] eq 'ARRAY') { }
0 0 if (defined $_[1] and CORE::ref $_[1] eq 'ARRAY')
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (defined ${$insert{$_};}->[0]) { }
0 0 if (ref $insert{$_} eq 'ARRAY' and ref $insert{$_}[0] eq 'SCALAR') { }
0 0 elsif (ref $insert{$_} eq 'REF' and ref ${$insert{$_};} eq 'ARRAY') { }
0 0 elsif (ref $insert{$_} eq 'SCALAR') { }
0 0 elsif (exists $json_fields{$_} and ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH') { }
2 0 if (%insert) { }
4 0 if (defined $_[1] and ref $_[1] eq 'ARRAY') { }
1 0 if (defined $_[1] and CORE::ref $_[1] eq 'ARRAY')
3 0 if (exists $fields{$_[$i]}) { }
0 0 if (defined ${$insert{$_};}->[0]) { }
1 2 if (CORE::ref $insert{$_} eq 'ARRAY' and CORE::ref $insert{$_}[0] eq 'SCALAR') { }
0 2 elsif (CORE::ref $insert{$_} eq 'REF' and CORE::ref ${$insert{$_};} eq 'ARRAY') { }
1 1 elsif (CORE::ref $insert{$_} eq 'SCALAR') { }
0 1 elsif (exists $json_fields{$_} and CORE::ref $insert{$_} eq 'ARRAY' || CORE::ref $insert{$_} eq 'HASH') { }
3 0 if (%insert) { }
3 3 if (defined $_[1] and CORE::ref $_[1] eq 'ARRAY') { }
1 0 if (defined $_[1] and CORE::ref $_[1] eq 'ARRAY')
1 0 if (defined $_[1] and CORE::ref $_[1] eq 'ARRAY')
0 1 if (@_ > 1)
3 1 if (@_ > 1)
0 0 if (not CORE::ref $cond[0]) { }
0 5 if (@cond)
0 0 if (not ref $cond[0]) { }
0 0 if (@cond)
0 0 if (not CORE::ref $cond[0]) { }
0 0 if (@cond)
0 0 if (not ref $cond[0]) { }
0 0 if (@cond)
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 elsif (CORE::ref $_[1] eq 'HASH') { }
0 0 elsif (not CORE::ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (ref $_[1] eq 'ARRAY') { }
0 0 elsif (ref $_[1] eq 'HASH') { }
0 0 elsif (not ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (ref $_[1] eq 'ARRAY') { }
0 0 elsif (ref $_[1] eq 'HASH') { }
0 0 elsif (not ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 elsif (CORE::ref $_[1] eq 'HASH') { }
0 0 elsif (not CORE::ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 elsif (CORE::ref $_[1] eq 'HASH') { }
0 0 elsif (not CORE::ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 elsif (CORE::ref $_[1] eq 'HASH') { }
0 0 elsif (not CORE::ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if (exists $fields{$f}) { }
0 0 if (exists $fields{$_[$i]}) { }
0 0 if (CORE::ref $_[1] eq 'ARRAY') { }
0 0 elsif (CORE::ref $_[1] eq 'HASH') { }
0 0 elsif (not CORE::ref $_[1]) { }
0 0 if (defined $_[1])
0 0 if @unknown_columns
0 0 if @unknown_columns
0 0 if (defined ${$set_hash{$_};}->[0]) { }
0 0 if (ref $set_hash{$_} eq 'ARRAY' and ref $set_hash{$_}[0] eq 'SCALAR') { }
0 0 elsif (ref $set_hash{$_} eq 'REF' and ref ${$set_hash{$_};} eq 'ARRAY') { }
0 0 elsif (ref $set_hash{$_} eq 'SCALAR') { }
0 0 elsif (exists $json_fields{$_} and ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH') { }
0 0 unless (ref $cond)
0 0 if (@_ > 2)
0 0 if (defined ${$column_value;}->[0]) { }
0 0 if (ref $column_value eq 'ARRAY' and ref $column_value->[0] eq 'SCALAR') { }
0 0 elsif (ref $column_value eq 'REF' and ref ${$column_value;} eq 'ARRAY') { }
0 0 elsif (ref $column_value and ref($column_value) =~ /^DBIx::Struct::JSON/u) { }
0 0 elsif (ref $column_value eq 'SCALAR') { }
0 4 if (@_ > 1 and ref $_[1] eq 'HASH') { }
0 8 elsif (ref $self and @$self > 1 and %{$self->[1];}) { }
0 1 if @unknown_columns
0 0 if (defined ${$set_hash{$_};}->[0]) { }
0 1 if (CORE::ref $set_hash{$_} eq 'ARRAY' and CORE::ref $set_hash{$_}[0] eq 'SCALAR') { }
0 1 elsif (CORE::ref $set_hash{$_} eq 'REF' and CORE::ref ${$set_hash{$_};} eq 'ARRAY') { }
0 1 elsif (CORE::ref $set_hash{$_} eq 'SCALAR') { }
0 1 elsif (exists $json_fields{$_} and CORE::ref $set_hash{$_} eq 'ARRAY' || CORE::ref $set_hash{$_} eq 'HASH') { }
0 1 unless (CORE::ref $cond)
1 0 if (@_ > 2)
0 0 if (defined ${$column_value;}->[0]) { }
1 2 if (CORE::ref $column_value eq 'ARRAY' and CORE::ref $column_value->[0] eq 'SCALAR') { }
0 2 elsif (CORE::ref $column_value eq 'REF' and CORE::ref ${$column_value;} eq 'ARRAY') { }
0 2 elsif (CORE::ref $column_value and CORE::ref($column_value) =~ /^DBIx::Struct::JSON/u) { }
1 1 elsif (CORE::ref $column_value eq 'SCALAR') { }
1 11 if (@_ > 1 and CORE::ref $_[1] eq 'HASH') { }
3 16 elsif (CORE::ref $self and @$self > 1 and %{$self->[1];}) { }
0 0 if @unknown_columns
0 0 if (defined ${$set_hash{$_};}->[0]) { }
0 0 if (ref $set_hash{$_} eq 'ARRAY' and ref $set_hash{$_}[0] eq 'SCALAR') { }
0 0 elsif (ref $set_hash{$_} eq 'REF' and ref ${$set_hash{$_};} eq 'ARRAY') { }
0 0 elsif (ref $set_hash{$_} eq 'SCALAR') { }
0 0 elsif (exists $json_fields{$_} and ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH') { }
0 0 unless (ref $cond)
0 0 if (@_ > 2)
0 0 if (defined ${$column_value;}->[0]) { }
0 0 if (ref $column_value eq 'ARRAY' and ref $column_value->[0] eq 'SCALAR') { }
0 0 elsif (ref $column_value eq 'REF' and ref ${$column_value;} eq 'ARRAY') { }
0 0 elsif (ref $column_value and ref($column_value) =~ /^DBIx::Struct::JSON/u) { }
0 0 elsif (ref $column_value eq 'SCALAR') { }
0 5 if (@_ > 1 and ref $_[1] eq 'HASH') { }
0 10 elsif (ref $self and @$self > 1 and %{$self->[1];}) { }
1643 0 10 if $@
1647 0 10 if ($interface)
1664 0 4 if (exists $cache_complex_query{$key}) { }
1670 4 0 if (wantarray) { }
1687 0 4 unless ref $table
1690 4 0 ref $table eq 'ARRAY' ? :
1706 0 11 if ('ARRAY' eq ref $le)
1713 5 6 if (substr($le, 0, 1) ne '-') { }
1715 5 0 unless $ta
1718 0 5 unless setup_row($tn, $ncn)
1726 0 6 if ($cmd eq 'left') { }
0 6 elsif ($cmd eq 'right') { }
1 5 elsif ($cmd eq 'join') { }
0 5 elsif ($cmd eq 'on') { }
0 5 elsif ($cmd eq 'using') { }
0 5 elsif ($cmd eq 'as') { }
0 5 elsif ($cmd eq 'where') { }
0 5 elsif ($cmd eq 'group_by') { }
0 5 elsif ($cmd eq 'order_by') { }
0 5 elsif ($cmd eq 'having') { }
0 5 elsif ($cmd eq 'limit') { }
0 5 elsif ($cmd eq 'offset') { }
5 0 elsif ($cmd eq 'columns' or $cmd eq 'column' or $cmd eq 'distinct' or $cmd eq 'count' or $cmd eq 'all') { }
1756 0 5 if ($cmd eq 'all')
1759 1 4 if ($cmd eq 'distinct')
1762 2 3 if ($cmd eq 'count')
1765 4 1 if ($i + 1 < @linked_list and substr($linked_list[$i + 1], 0, 1) ne '-')
1767 2 2 if ($cols and not $cols =~ /^\d|^true$/u) { }
0 2 elsif ($cols =~ /^\d+$/u and $cols == 0 or $cols eq '') { }
1768 0 2 if ('ARRAY' eq ref $cols) { }
1774 0 0 if $cmd eq 'distinct'
1777 0 5 if ($cmd eq 'column') { }
1791 0 4 unless @from
1796 0 1 if $from[$idx][3] or not $from[$idx - 1][2]
1797 0 1 if substr($from[$idx][0], 0, 1) eq '('
1803 0 1 unless $from[$i][2]
1805 0 1 if substr($ptn, 0, 1) eq '('
1807 1 0 if ($cto->can("foreignKey$ucfptn")) { }
1813 0 0 if ($ptno->can("foreignKey$ucct"))
1823 2 2 unless @columns
1824 0 4 'SCALAR' eq ref $_ ? :
1827 4 1 unless ($joined)
1829 0 4 if $from[$idx][1] ne $from[$idx][0]
1831 1 4 if ($from[$idx][2]) { }
1835 0 1 if $nt->[1] ne $nt->[0]
1837 0 1 if ($using_on eq 'on' and ref $nt->[3][1]) { }
1847 0 4 if $idx != $#from
1852 2 2 if ($count) { }
1854 1 1 if ($distinct) { }
0 1 elsif ($all) { }
1855 1 0 if $what eq '*'
1858 0 0 if $what eq '*'
1864 0 2 if ($distinct)
1869 0 4 unless (defined $where)
1872 0 0 if ($sql_grp and defined $having)
1877 0 0 if ($conditions) { }
1884 0 0 if (defined $sql_grp)
1888 0 0 if defined $limit
1889 0 0 if $offset
1891 0 4 if $where
1892 4 0 if (wantarray) { }
1902 2 18 if (defined $groupby)
1905 2 0 /^[a-z][\w ]*$/iu ? :
0 2 /^\d+$/u ? :
0 2 ref $groupby ? :
1915 2 0 if (defined $having)
1926 10 8 unless defined $_[$i] and not ref $_[$i]
1927 2 6 if ($_[$i] eq '-group_by') { }
0 6 elsif ($_[$i] eq '-distinct') { }
2 4 elsif ($_[$i] eq '-having') { }
0 4 elsif ($_[$i] eq '-order_by') { }
0 4 elsif ($_[$i] eq '-where') { }
0 4 elsif ($_[$i] eq '-limit') { }
0 4 elsif ($_[$i] eq '-interface') { }
0 4 elsif ($_[$i] eq '-offset') { }
0 4 elsif ($_[$i] eq '-sql') { }
0 4 elsif ($_[$i] eq '-dry_run') { }
0 4 elsif (substr($_[$i], 0, 1) eq '-') { }
1968 2 18 if ($sql_grp and defined $having)
1985 15 5 if ($simple_table) { }
1989 4 11 if ($have_conditions and not ref $conditions) { }
1990 0 4 unless my $id = ($ncn->selectKeys)[0]
1996 4 0 if (defined $conditions) { }
2008 16 4 if ($need_where)
2011 2 18 if (defined $sql_grp)
2015 0 20 if ($order)
2020 0 20 if (defined $limit)
2024 0 20 if (defined $offset)
2026 0 0 if $offset
2031 15 5 if ($simple_table) { }
2034 1 4 if (not ref $table) { }
2041 0 20 if ($sql)
2042 0 0 if ('CODE' eq ref $sql) { }
0 0 elsif ('SCALAR' eq ref $sql) { }
2048 0 20 if $dry_run
2053 0 20 unless $sth = $_->prepare($query)
2059 0 20 unless $sth->execute(@query_bind, @where_bind)
2080 1 19 unless $data
2081 2 17 if ($one_column)
2101 0 0 if (ref $_[$i] eq 'CODE')
2111 0 0 if ($mapfunc) { }
2117 0 0 if ($one_column) { }
2141 0 0 if (ref $_[$i] eq 'CODE')
2146 0 0 unless $itemfunc
2161 0 0 if $connector_driver eq 'mysql'
2166 0 0 unless &$itemfunc()
2177 0 3 unless $simple_table