Branch Coverage

lib/DBIx/Struct.pm
Criterion Covered Total %
branch 297 1110 26.7


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 $@
298 0 0 if 'HASH' ne ref $hashref
318 0 0 if (\&DBIx::Struct::connector != \&DBIx::Struct::connector_from_pool)
341 0 0 if 'CODE' ne ref $_[0]
353 3 0 unless $er
364 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') { }
367 0 3 if (not $defconn and check_package_scalar($connector_module, 'conn'))
413 0 3 if ($_emc)
418 0 3 if ($_cp)
427 0 3 if $_c
433 2 0 unless ($connector_pool or $conn)
435 0 2 if ($dsn and not $dsn =~ /^dbi:/iu)
444 0 2 if ($dsn)
446 0 0 if ($driver)
447 0 0 if ($driver eq 'Pg') { }
0 0 elsif ($driver eq 'mysql') { }
0 0 elsif ($driver eq 'SQLite') { }
456 2 0 unless (@$connector_args)
459 0 2 unless $conn = $connector_module->$connector_constructor(@$connector_args)
485 30 5 if ($simple_table) { }
501 0 2 unless $sth
507 6 0 if $_->[3] eq 'TABLE'
513 3 3 if ($user_schema_namespace)
518 0 3 if (keys %{"${user_schema_namespace}::${uncn}::";} and not do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} && "${user_schema_namespace}::$uncn"->isa($ncn))
559 0 20 unless $find =~ s/^find(?.*?)By(?![[:lower:]])//u or $find =~ s/^find(?.*)//u
568 16 4 unless $find =~ s/OrderBy(?.*?)(?Asc|Desc)(?=[[:upper:]]|$)//u
573 2 18 if ($type eq 'First' and not $limit)
576 3 17 if ($limit and $limit == 1)
584 4 471 if ($param =~ s/$uneq[$i]//u)
591 4 22 if ($found) { }
592 1 3 if ('CODE' eq ref $uneq[$found]) { }
609 9 7 /And(?![[:lower:]])/u ? :
614 5 15 $type eq 'One' ? :
615 7 13 $column ? :
616 6 0 $flags ? :
6 14 $distinct ? :
617 4 1 $asc eq 'Asc' ? :
5 15 $order ? :
623 16 4 $conds ? :
624 6 14 $limit && $limit > 1 && $type ne 'One' ? :
626 7 13 if $column
645 6 4 unless (ref $table)
699 0 6 if ($required)
831 6 4 if (not ref $table) { }
944 6 4 if (not ref $table) { }
998 6 4 unless (ref $table)
1031 6 4 if (not ref $table) { }
1075 39 10 if (grep {not /::$/u;} keys %{"${ncn}::";})
1084 0 0 unless ref $interface
1085 0 0 if ('ARRAY' eq ref $interface) { }
0 0 elsif ('HASH' eq ref $interface) { }
1088 0 0 unless &_exists_row($dbc_name)
1095 0 0 if ($href and %$href)
1103 0 0 unless &_exists_row($dbc_name)
1110 0 0 unless $href and %$href
1112 0 0 unless ref $fl
1113 0 0 if ('ARRAY' eq ref $fl) { }
1116 0 0 if exists $href->{$m}
1142 0 4 $field_types->{$_} eq 'json' ? :
0 4 $field_types->{$_} eq 'boolean' ? :
16 4 $field_types->{$_} eq 'number' ? :
1193 0 20 unless defined $type_name
1194 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) { }
1217 5 18 if ($user_schema_namespace)
1221 2 3 if (do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} and "${user_schema_namespace}::$uncn"->isa($ncn))
1237 0 49 unless exists $driver_pk_insert{$connector_driver}
1239 39 10 if &_exists_row($ncn)
1251 6 4 if (not ref $table) { }
1256 0 6 unless $ssth
1261 0 6 unless $ssth->execute
1268 0 6 unless $cih
1278 0 12 if ($chr->{'TYPE_NAME'} =~ /^time/iu)
1281 0 12 if ($chr->{'TYPE_NAME'} =~ /^json/iu)
1285 0 12 if (not defined $chr->{'COLUMN_DEF'} and $_->can('sqlite_table_column_metadata'))
1289 0 12 if ($chr->{'NULLABLE'} == 0 and not defined $chr->{'COLUMN_DEF'})
1296 0 6 if (not @pkeys and @required)
1301 0 0 if (not exists $req{$ukr->{'COLUMN_NAME'}} or defined $ukr->{'FILTER_CONDITION'}) { }
1309 0 0 if (%pkeys)
1316 6 0 if ($sth)
1318 4 0 if $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1321 0 4 if $_->{'FKCOLUMN_NAME'}
1322 0 4 if $_->{'FKTABLE_NAME'}
1327 4 0 if $_->{'PKTABLE_NAME'}
1328 4 0 if $_->{'PKCOLUMN_NAME'}
1333 6 0 if ($sth)
1335 4 0 if $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1338 0 4 if $_->{'FKCOLUMN_NAME'}
1339 0 4 if $_->{'FKTABLE_NAME'}
1366 0 8 if $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^time/u
1368 0 8 if $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^json/u
1377 0 10 if (@required)
1381 0 10 if (@timestamp_fields) { }
1401 4 6 if (@pkeys) { }
1413 2 4 if (@fields) { }
1438 0 4 unless $fn_suffix =~ s/^${pk}_*//iu or $fn_suffix =~ s/_$pk(?=[^a-z]|$)//iu
1470 4 0 if ($pk ne $fk)
1472 0 4 unless $fn =~ s/^${pk}_*//iu or $fn =~ s/_$pk(?=[^a-z]|$)//iu
1474 0 4 if $fn
1517 0 20 if exists $keywords{$k}
1518 0 20 if $k =~ /^\d/u
1520 20 0 if (not exists $json_fields{$k}) { }
1521 8 12 if (not exists $pk_fields{$k} || ref $table) { }
1545 0 0 if (not exists $pk_fields{$k} || ref $table) { }
1604 6 4 if (not ref $table) { }
1605 6 0 if (%fkfuncs) { }
1634 6 4 if (not ref $table) { }
1649 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 $@
4 0 if $DBIx::Struct::update_on_destroy
8 0 if $DBIx::Struct::update_on_destroy
5 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][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][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][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][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][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 my $rowref = $_->selectrow_arrayref("select * from list $where", undef, @bind)
0 0 unless my $rowref = $_->selectrow_arrayref('select * from prim where id = ?', undef, $self->[0][0])
0 0 unless my $rowref = $_->selectrow_arrayref('select * from list where id = ?', undef, $self->[0][0])
0 0 unless $_->do('delete from list where id = ?', undef, $self->[0][0])
0 1 unless $_->do("update list set $set $where", undef, @bind, @bind_where)
0 0 unless $_->do($insert, undef, @bind)
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 $_->do("delete from prim $where", @rpar)
0 3 unless $_->do($update_query, undef, @bind, $self->[0][0])
0 0 unless $_->do('delete from pl_assoc where ', undef)
0 0 unless my $rowref = $_->selectrow_arrayref("select * from pl_assoc $where", undef, @bind)
0 1 unless $_->do("delete from list $where", @rpar)
0 0 unless ($self->[0][0]) = $_->selectrow_array($insert . ' returning id', undef, @bind)
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 0 unless my $rowref = $_->selectrow_arrayref("select * from prim $where", undef, @bind)
0 0 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 my $rowref = $_->selectrow_arrayref('select * from pl_assoc where ', undef)
0 0 unless $_->do($update_query, undef, @bind)
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 (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 (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 (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 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 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 (CORE::ref $cond)
0 0 if (@_ > 1) { }
0 0 unless (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]}
1 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') { }
0 0 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 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') { }
2 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) { }
3 0 if (defined $_[1] and 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') { }
0 1 if (@_ > 1)
3 1 if (@_ > 1)
0 0 if (not ref $cond[0]) { }
0 2 if (@cond)
0 0 if (not CORE::ref $cond[0]) { }
0 3 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 (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 (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 6 if (@_ > 1 and ref $_[1] eq 'HASH') { }
0 12 elsif (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];}) { }
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 9 if (@_ > 1 and CORE::ref $_[1] eq 'HASH') { }
3 12 elsif (CORE::ref $self and @$self > 1 and %{$self->[1];}) { }
1650 0 10 if $@
1654 0 10 if ($interface)
1671 0 4 if (exists $cache_complex_query{$key}) { }
1677 4 0 if (wantarray) { }
1694 0 4 unless ref $table
1697 4 0 ref $table eq 'ARRAY' ? :
1713 0 11 if ('ARRAY' eq ref $le)
1720 5 6 if (substr($le, 0, 1) ne '-') { }
1722 5 0 unless $ta
1725 0 5 unless setup_row($tn, $ncn)
1733 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') { }
1763 0 5 if ($cmd eq 'all')
1766 1 4 if ($cmd eq 'distinct')
1769 2 3 if ($cmd eq 'count')
1772 4 1 if ($i + 1 < @linked_list and substr($linked_list[$i + 1], 0, 1) ne '-')
1774 2 2 if ($cols and not $cols =~ /^\d|^true$/u) { }
0 2 elsif ($cols =~ /^\d+$/u and $cols == 0 or $cols eq '') { }
1775 0 2 if ('ARRAY' eq ref $cols) { }
1781 0 0 if $cmd eq 'distinct'
1784 0 5 if ($cmd eq 'column') { }
1798 0 4 unless @from
1803 0 1 if $from[$idx][3] or not $from[$idx - 1][2]
1804 0 1 if substr($from[$idx][0], 0, 1) eq '('
1810 0 1 unless $from[$i][2]
1812 0 1 if substr($ptn, 0, 1) eq '('
1814 1 0 if ($cto->can("foreignKey$ucfptn")) { }
1820 0 0 if ($ptno->can("foreignKey$ucct"))
1830 2 2 unless @columns
1831 0 4 'SCALAR' eq ref $_ ? :
1834 4 1 unless ($joined)
1836 0 4 if $from[$idx][1] ne $from[$idx][0]
1838 1 4 if ($from[$idx][2]) { }
1842 0 1 if $nt->[1] ne $nt->[0]
1844 0 1 if ($using_on eq 'on' and ref $nt->[3][1]) { }
1854 0 4 if $idx != $#from
1859 2 2 if ($count) { }
1861 1 1 if ($distinct) { }
0 1 elsif ($all) { }
1862 1 0 if $what eq '*'
1865 0 0 if $what eq '*'
1871 0 2 if ($distinct)
1876 0 4 unless (defined $where)
1879 0 0 if ($sql_grp and defined $having)
1884 0 0 if ($conditions) { }
1891 0 0 if (defined $sql_grp)
1895 0 0 if defined $limit
1896 0 0 if $offset
1898 0 4 if $where
1899 4 0 if (wantarray) { }
1909 2 18 if (defined $groupby)
1912 2 0 /^[a-z][\w ]*$/iu ? :
0 2 /^\d+$/u ? :
0 2 ref $groupby ? :
1922 2 0 if (defined $having)
1933 10 8 unless defined $_[$i] and not ref $_[$i]
1934 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 '-') { }
1975 2 18 if ($sql_grp and defined $having)
1992 15 5 if ($simple_table) { }
1996 4 11 if ($have_conditions and not ref $conditions) { }
1997 0 4 unless my $id = ($ncn->selectKeys)[0]
2003 4 0 if (defined $conditions) { }
2015 16 4 if ($need_where)
2018 2 18 if (defined $sql_grp)
2022 0 20 if ($order)
2027 0 20 if (defined $limit)
2031 0 20 if (defined $offset)
2033 0 0 if $offset
2038 15 5 if ($simple_table) { }
2041 1 4 if (not ref $table) { }
2048 0 20 if ($sql)
2049 0 0 if ('CODE' eq ref $sql) { }
0 0 elsif ('SCALAR' eq ref $sql) { }
2055 0 20 if $dry_run
2060 0 20 unless $sth = $_->prepare($query)
2066 0 20 unless $sth->execute(@query_bind, @where_bind)
2087 1 19 unless $data
2088 2 17 if ($one_column)
2108 0 0 if (ref $_[$i] eq 'CODE')
2118 0 0 if ($mapfunc) { }
2124 0 0 if ($one_column) { }
2148 0 0 if (ref $_[$i] eq 'CODE')
2153 0 0 unless $itemfunc
2168 0 0 if $connector_driver eq 'mysql'
2173 0 0 unless &$itemfunc()
2184 0 3 unless $simple_table